driver.add_experimental_option('excludeSwitches', ['enable-automation'])
是在使用Selenium WebDriver与浏览器交互时设置的一行代码。这行代码用于禁用浏览器中的自动化检测。
具体来说,当你在使用Selenium WebDriver与浏览器交互时,有些浏览器(例如Google Chrome)可能会检测到自动化行为(例如,通过检查某些设置或参数),并因此阻止或限制自动化脚本的执行。这是为了防止自动化工具滥用和误用。
通过使用 driver.add_experimental_option('excludeSwitches', ['enable-automation'])
,你可以告诉浏览器:“嗨,我知道你在检测自动化行为,但请相信我,这是人工操作,而不是机器人操作。” 这样,浏览器就会更信任你的脚本,从而避免可能的自动化检测限制。
driver.add_argument('--disable-blink-features=AutomationControlled')
是一个在Selenium WebDriver中使用的参数,特别是当与Google Chrome浏览器交互时。这个参数的作用是告诉Chrome浏览器:“禁用那些由自动化控制的功能”。
具体来说,当你在使用Selenium WebDriver与Chrome浏览器交互时,Chrome可能会检测到自动化行为并采取相应的措施,如限制某些功能或显示警告。通过设置这个参数,你可以告诉Chrome:“这是人工操作,而不是自动化操作”,从而避免这些限制或警告。
from selenium import webdriver as wd
# 实例化设置对象
driver = wd.Chrome()
# 不自动关闭浏览器
option = wd.ChromeOptions()
option.add_experimental_option("detach", True)
# 将option作为参数添加到Chrome中
driver = wd.Chrome(chrome_options=option)
url = 'https://www.xxx.com/'
driver.get(url)
# 2、 是在使用Selenium WebDriver与浏览器交互时设置的一行代码。这行代码用于禁用浏览器中的自动化检测。
driver.add_experimental_option('excludeSwitches', ['enable-automation'])
# 3、 规避滑块检测
driver.add_argument('--disable-blink-features=AutomationControlled')
# 主程序
obj = wd.Chrome(options=driver)
url = 'https://www.xxx.com/'
obj.get(url)
obj.maximize_window()