• selenium登录京东,requests抓取购物车


      selenium登录京东,requests抓取购物车:

    import selenium
    import selenium.webdriver
    import selenium.webdriver.common.keys
    import requests
    import lxml
    import lxml.etree
    import time
    #selenium + requests  抓取购物车的价格  速度加快了不少
    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(15)   # 等待页面加载  时间太短cookie会加载不出来
    print("开始会话")
    req=requests.session()  #会话   打开一个网页,直到关闭浏览器之前 都是会话
    cookies=driver.get_cookies()  #抓取全部的cookie
    for cookie in cookies:   #把cookie加载到自定义的网页中
        req.cookies.set(cookie['name'],cookie['value'])   #把cookie加载到req中
    req.headers.clear()  #清空头
    newpage=req.get("https://cart.jd.com/")  #购物车网址
    print("会话完成")
    print(newpage.text)  #页面
    mytree=lxml.etree.HTML(newpage.text)
    print(mytree.xpath("//*[@class="plus-switch"]/strong/text()"))  #提取购物车的价格  text()为提取标签之间的内容
    time.sleep(10)
    driver.close()
  • 相关阅读:
    JavaScript在web自动化测试中的作用
    Python使用Pandas高效处理测试数据
    git update-index --assume-unchanged忽略跟踪
    git reset三种模式
    Python Unittest根据不同测试环境跳过用例详解
    python ddt 实现数据驱动
    测试用例重要性暨动端测试用例设计总结
    jenkins执行selenium自动化测试浏览器不显示解决方法
    《过目不忘的读书法》 读书笔记
    memcached 学习
  • 原文地址:https://www.cnblogs.com/my-global/p/12484146.html
Copyright © 2020-2023  润新知