由于Firefox安全消息,我在Firefox浏览器中遇到.click()
方法问题。
在我的登录表单中,我有一个用户名和密码字段和提交按钮。在Firefox中成功输入用户名后,浏览器会显示安全消息:
“此连接不安全。此处输入的登录可能是 妥协。了解更多“
而不是选择(点击)密码字段,它点击此安全消息,新的Firefox浏览器选项卡打开而不是输入密码值。 我该如何处理这种情况?
我有Firefox版本55和Selenium版本3.5.2
答案 0 :(得分:0)
似乎您需要设置禁用该安全消息的功能
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
driver = new FirefoxDriver(capabilities);
答案 1 :(得分:0)
您必须使用DesiredCapabilities
类来设置启用 SSL证书的功能,然后您可以轻松找到您的元素。请找到以下代码:
DesiredCapabilities ffCapablity = new DesiredCapabilities();
ffCapablity.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
System.setProperty("webdriver.gecko.driver","E://FF//geckodriver.exe");
WebDriver driver = new InternetExplorerDriver(ffCapablity);
解决此问题的第二种方法,那么你必须参考以下链接:
答案 2 :(得分:0)
如果您使用的网址为Not Secure
,那么每当您尝试通过Mozilla Firefox 55.x访问该网址时,Firefox都会在地址栏中显示一个带有红色透视图标的锁定图标。现在,当加载URL时,默认情况下,光标将位于“用户名”字段上,弹出窗口会显示This connection is not secure. Logins entered here could be compromised
消息documented here。
在这些情况下,最佳解决方案是:
debanjan
debanjan
以忽略所有UntrustedCertificate
个问题。以下是禁用insecure_field_warning
的示例代码块:
System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe");
ProfilesIni profile = new ProfilesIni();
FirefoxProfile testprofile = profile.getProfile("debanjan");
testprofile.setAcceptUntrustedCertificates(true);
testprofile.setAssumeUntrustedCertificateIssuer(true);
testprofile.setPreference("security.insecure_field_warning.contextual.enabled", false);
DesiredCapabilities dc = DesiredCapabilities.firefox();
dc.setCapability(FirefoxDriver.PROFILE, testprofile);
dc.setCapability("marionette", true);
WebDriver driver = new FirefoxDriver(dc);
driver.manage().window().maximize();
driver.navigate().to("http://demosite.center/wordpress/wp-login.php");