繁体   English   中英

将 selenium chrome 驱动与 python 一起使用时如何避免验证页面?

[英]How to avoid verification page when using selenium chrome driver with python?

我想用 selenium python 废弃一些数据。 我有时会遇到这种类型的屏幕:

在此处输入图像描述

您知道要继续删除此类验证吗? 这是我的代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

options = Options()
options.add_argument("start-maximized")
options.add_argument("--disable-web-security")
options.add_argument("--disable-site-isolation-trials")
options.add_argument("--allow-running-insecure-content")


driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)

driver.get('THE_WEBSITE_COM')

Selenium 和其他自动化工具具有某些用户代理和其他标识符,表明它是自动化的。 所以也许可以玩一下这样的事情。 一些网站使用反僵尸工具来分析浏览行为和模式,所以尽量减慢它并随机化它,例如。 页面请求之间的随机时间

另一个技巧是查看网站并尝试查找是否有其他途径可以获取信息。 例如:是否有一个公共的 API 可以用来绕过它? 网站有手机版吗? 有时移动版本的验证码执行力度较小。

我大部分时间做的是单独启动浏览器并使用 Dev 端口连接到它,这在本文中有很好的解释。

为了让 Chrome 打开一个端口进行远程调试,我们需要使用自定义标志启动它——

chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\ChromeProfile"

然后使用这个连接到浏览器

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
#Change chrome driver path accordingly
chrome_driver = "C:\chromedriver.exe"
driver = webdriver.Chrome(chrome_driver, chrome_options=chrome_options)
print driver.title

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM