针对内部网站测试,对使用自签名证书或者证书过期证书错误的网页,浏览器会跳转到一个专门的证书验证页面需要手动点击确认才能继续进入被测界面。在selenium 4 中,编程接口发生了小幅度变化。?
在很多网站可以搜到这个操作
options.accept_insecure_certs = True
但是很多人反应对chrome不起作用,我也遇到了这个问题。后来发现了通过add_argument可以实现一样的效果。可能这是selenium4的bug,期待后续可以fix掉。
这里给出一个可用的例子供参考:
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
chromeOptions = webdriver.ChromeOptions()
chromeOptions.add_argument('--no-sandbox')
chromeOptions.add_argument('--disable-gpu')
# chromeOptions.add_argument('--headless') #不打开浏览器界面,后台执行
chromeOptions.add_argument('--disable-dev-shm-usage')
chromeOptions.add_argument('--allow-running-insecure-content')
chromeOptions.add_argument('--ignore-certificate-errors')
driver = webdriver.Chrome(executable_path=ChromeDriverManager().install(), chrome_options=chromeOptions)
driver.get('https://www.baidu.com/')