如何使用Selenium绕过非安全页面上的消息"your connection is not private"?



我正在尝试与"您的连接不是私有的"页面进行交互。

使用options.add_argument('--ignore-certificate-errors')的解决方案没有帮助,原因有两个:

  1. 我正在使用一个已经打开的窗口。
  2. 即使我使用的是"硒打开的窗口",脚本也会不间断地运行,我试图解决的问题是当我的浏览器与 splunk 仪表板断开连接并且我希望它再次自动连接时(它会弹出专用连接窗口(。

如何单击"高级",然后单击"继续splunk_server(不安全(?

对于铬:

from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--ignore-ssl-errors=yes')
options.add_argument('--ignore-certificate-errors')
driver = webdriver.Chrome(options=options)

如果不起作用,则:

from selenium import webdriver
from selenium.webdriver import DesiredCapabilities
options = webdriver.ChromeOptions()
options.add_argument('--allow-insecure-localhost') # differ on driver version. can ignore. 
caps = options.to_capabilities()
caps["acceptInsecureCerts"] = True
driver = webdriver.Chrome(desired_capabilities=caps)

对于火狐:

from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.accept_untrusted_certs = True
driver = webdriver.Firefox(firefox_profile=profile)
driver.get('https://cacert.org/')
driver.close()

如果不起作用,则:

capabilities = webdriver.DesiredCapabilities().FIREFOX
capabilities['acceptSslCerts'] = True
driver = webdriver.Firefox(capabilities=capabilities)
driver.get('https://cacert.org/')
driver.close()

最重要的是为我工作!

这是我处理这个问题的方式:

import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.CapabilityType;
ChromeOptions capability = new ChromeOptions();
capability.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
capability.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS,true);
WebDriver driver = new ChromeDriver(capability);

这个铬选项对我来说是灵丹妙药:

chromeOptions.addArguments("--allow-running-insecure-content");

如果您需要更多,请打开 chrome 并粘贴此 URL:

chrome://flags/

人们会找到所有选项及其对铬的影响。

以下2 个解决方案中的任何一个都适用于我使用 Python Chrome Selenium Webdriver:

from selenium import webdriver
from selenium.webdriver import DesiredCapabilities
capabilities = DesiredCapabilities.CHROME.copy()
capabilities["acceptInsecureCerts"] = True
driver = webdriver.Chrome(desired_capabilities=capabilities)

并接受的解决方案:

from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--ignore-ssl-errors=yes')
options.add_argument('--ignore-certificate-errors')
driver = webdriver.Chrome(options=options)

相关内容

最新更新