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

How to bypass the message-"your connection is not private" on non-secure page using Selenium?

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

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

  1. 我正在使用已经打开的 window。
  2. 即使我使用的是“selenium opened window”脚本也会不停地运行,而我要解决的问题是当我的浏览器与 splunk 仪表板断开连接并且我希望它自动再次连接(它会弹出专用连接 window)。

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

对于chrome:

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)

Firefox:

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);

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

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

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

        chrome://flags/

你会发现所有选项及其对 chrome 的影响。

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

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)