淘宝使用selenium扫码登录-补上二维码失效重新获取

接上篇淘宝使用selenium扫码登录文中发现,淘宝大约在90秒左右会重新刷新二维码,这时需要点击界面上的“请点击刷新”按钮,重新获取新的二维码才能进行扫码。之前的二维码将会失效。

我们把获取二维码的功能单独提取出来:

def get_qrcode_img_link_address():
    if driver.find_element_by_id("J_QRCodeImg"):
        print 'get the QRCodeImgUrl.....'
        print driver.find_element_by_id("J_QRCodeImg").find_element_by_tag_name("img").get_attribute("src")
        use_chrome_open_url(
            driver.find_element_by_id("J_QRCodeImg").find_element_by_tag_name("img").get_attribute("src"))

再重新设计login函数体:

def login():
    driver.get("https://www.taobao.com")
    driver.maximize_window()
    if driver.find_element_by_link_text("亲,请登录"):
        driver.find_element_by_link_text("亲,请登录").click();
    time.sleep(1)
    get_qrcode_img_link_address()

    while True:
        try:
            if driver.find_element_by_link_text("密码登录"):
                print "请扫码登录..."
                time.sleep(1)
                try:
                    if driver.find_element_by_link_text("请点击刷新"):
                        driver.find_element_by_link_text("请点击刷新").click()
                        time.sleep(1)
                        get_qrcode_img_link_address()
                except NoSuchElementException:
                    time.sleep(1)
                    continue

        except NoSuchElementException:
            print "成功登录..."
            print driver.current_url
            break

    time.sleep(1)

其他保持与上文不变,亲测通过。有问题请留言,会及时回答。
淘宝优惠劵超市

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,777评论 25 708
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,294评论 3 119
  • 谨慎爱着这虚肿的生活 文/葱葱 谨慎爱着这虚肿的生活 小心爱着这秋日的卷毛云 八月疯狂生长的庄稼和野草 有着汹涌的...
    葱葱_阅读 301评论 22 15
  • 近十年来,考了不少试。 1,人力资源管理专业,花了2.5年,考试通过,拿到本科学历。 2,驾照,花了半年多时间,补...
    李庆建阅读 182评论 0 0

友情链接更多精彩内容