• selenium定制启动谷歌浏览器,绕过验证码


    环境:ubuntu,selenium,谷歌浏览器及对应的chromedriver

    手动启动谷歌浏览器:以命令行的方式启动,指定端口

    /opt/google/chrome/chrome --remote-debugging-port=9222
    

     检测启动是否成功:在自动开启的谷歌浏览器输入:http://127.0.0.1:9222/json

     修改chromedriver,修改cdc后面的字符串(两个下划线之间的字符串是:随机的22位字符,这个没有什么限制,自由发挥22位即可)

    编写代码,模拟登录

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    options =Options()
    options.binary_location='/opt/google/chrome/chrome'  # 指定谷歌浏览器的启动命令
    options.add_experimental_option('debuggerAddress','127.0.0.1:9222') # 浏览器的启动的地址,用于连接已经打开的浏览器
    path = './chromedriver'
    driver = webdriver.Chrome(executable_path=path,chrome_options=options)
    
    driver.get('https://login.taobao.com/member/login.jhtml')
    driver.execute_script("return document.documentElement.outerHTML")
    driver.find_element_by_xpath('//*[@id="fm-login-id"]').send_keys('')
    driver.find_element_by_xpath('//*[@id="fm-login-password"]').send_keys('')
    driver.find_element_by_xpath('//*[@id="login-form"]/div[4]/button').click()
    driver.get_cookies()

    跟着步骤走是完全没问题的,这里只是做个记录,方便以后查看。

    附:

    ubuntu查看谷歌相关文件的命令: 

    dpkg -L google-chrome-stable
  • 相关阅读:
    提高ASP.NET效率的几个方面
    危险字符过滤的类
    通过HttpModule实现数据库防注入
    字符串(含有汉字)转化为16进制编码进制
    C# 中的类型转换
    防范SQL注入攻击的代码
    微软笔试小感
    Debug和Trace配置小记
    C#动态地调用Win32 DLL中导出的函数
    Debug和Trace使用小记
  • 原文地址:https://www.cnblogs.com/kindvampire/p/13186292.html
Copyright © 2020-2023  润新知