zoukankan      html  css  js  c++  java
  • selenium模拟登录京东,手动解决验证码问题,抓取购物车价格

      selenium模拟登录京东,未解决验证码问题,但是可以在下方设置time.sleep(),时间长一点手动操作验证码,实现成功登录,并抓取了购物车价格:

    import selenium
    import selenium.webdriver
    import selenium.webdriver.common.keys
    import lxml
    import lxml.etree
    import time
    #测试已成功登录,并抓取了购物车的价格
    driver = selenium.webdriver.Chrome()
    driver.get("https://passport.jd.com/uc/login?ltype=logout&ReturnUrl=https://home.jd.com/")
    time.sleep(3)
    #切换到账户登录
    elem=driver.find_element_by_xpath("//*[@class="login-tab login-tab-r"]/a") #点到账户登录
    elem.click()   #点击一下
    
    user=driver.find_element_by_id("loginname")
    password=driver.find_element_by_id("nloginpwd")
    submit=driver.find_element_by_id("loginsubmit")
    user.clear()  #清理user  因为已经有了,再写会出现问题
    
    user.send_keys("用户名")
    password.send_keys("密码")
    time.sleep(1)
    submit.click()  #点击一下
    
    
    time.sleep(13)
    driver.get("https://cart.jd.com/")
    time.sleep(30)    #如果特定验证码比较麻烦,手动搞定
    print(driver.page_source) #打印网页源代码
    
    data=driver.page_source
    mytree=lxml.etree.HTML(data)
    print(mytree.xpath("//*[@class="plus-switch"]/strong/text()"))  #提取购物车的价格  text()为提取标签之间的内容
    time.sleep(10)
    driver.close()
  • 相关阅读:
    springboot中MongoDB的使用
    SpringBoot中发送邮件服务
    springboot中使用RabbitMq
    PostgreSQL学习之【用户权限管理】说明
    Leet Code 19.删除链表的倒数第N个节点
    Kafka集群搭建
    Leet Code 18.四数之和
    Hadoop集群运行情况
    完全分布式Hadoop集群搭建
    Leet Code 17.电话号码的字母组合
  • 原文地址:https://www.cnblogs.com/my-global/p/12461110.html
Copyright © 2011-2022 走看看