zoukankan      html  css  js  c++  java
  • 如何让selenium规避监测,selenium 接管chrome 浏览器

     浏览器规避监测   selenium 接管chrome 浏览器

    参考博文

    https://www.cnblogs.com/lovealways/p/9813059.html

    在使用selenium进行自动化测试中我们有时会遇到这样的情况:

           我们需要手动打开浏览器,进入到所需的页面,执行一些手动任务,如输入表单、输入验证码,登陆成功后,然后再开始运行自动化脚本。

    这种情况下如何使用selenium来接管先前已打开的浏览器呢?

    这里给出Google Chrome浏览器的解决方案。

    我们可以利用Chrome DevTools协议。它允许客户检查和调试Chrome浏览器。

    打开cmd,在命令行中输入命令:

    chrome.exe --remote-debugging-port=9222 --user-data-dir="C:selenumAutomationProfile"

          对于-remote-debugging-port值,可以指定任何打开的端口。

          对于-user-data-dir标记,指定创建新Chrome配置文件的目录。它是为了确保在单独的配置文件中启动chrome,不会污染你的默认配置文件。

          还有,不要忘了在环境变量中PATH里将chrome的路径添加进去。

    此时会打开一个浏览器页面,我们输入百度网址,我们把它当成一个已存在的浏览器:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    # 谷歌浏览器安装目录下执行
    # chrome.exe --remote-debugging-port=9222 --user-data-dir="C:selenumAutomationProfile"
    # 在打开的浏览器中输入 www.baidu.com
    
    chrome_options = Options()
    chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
    chrome_driver = "C:Program Files (x86)GoogleChromeApplicationchromedriver.exe"
    driver = webdriver.Chrome(chrome_driver, options=chrome_options)
    # 输出百度一下你就知道  表示接管成功了
    print(driver.title)
  • 相关阅读:
    Markdown常用写法
    Vue.js学习篇
    ClassLoader
    Java内存篇
    Spring-AOP学习篇
    M3U8Downloader
    IngCrawler
    ulimit开启coredump时核心转储
    Linux下的bc计算器
    Maven相关介绍
  • 原文地址:https://www.cnblogs.com/wangcongxing/p/13062462.html
Copyright © 2011-2022 走看看