Selenium webdriver 通过Robot框架更改浏览器功能
我没有在本地更改IE设置的权限。我编写了一段Java代码,用以下方法更改IEDriver的功能:Selenium webdriver 通过Robot框架更改浏览器功能,selenium-webdriver,robotframework,Selenium Webdriver,Robotframework,我没有在本地更改IE设置的权限。我编写了一段Java代码,用以下方法更改IEDriver的功能: DesiredCapabilities caps = DesiredCapabilities.internetExplorer(); caps.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); caps.setCapability( InternetExplorerDriver.INTR
DesiredCapabilities caps = DesiredCapabilities.internetExplorer(); caps.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
caps.setCapability(
InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,
true);
在Robot框架中使用SeleniumWebDriver时,我想做同样的事情。我想做这样的事。但我不知道该怎么做
*** Keywords ***
Test Browser
${options}= Evaluate sys.modules['selenium.webdriver'].DesiredCapabilities.INTERNETEXPLORER sys,selenium.webdriver
Call Method ${options} add_argument INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS:True
Create WebDriver Internet Explorer ie_options=${options}
Open Browser To Login Page
Open Browser ${LOGIN URL} ${BROWSER}
Maximize Browser Window
Set Selenium Speed ${DELAY}
Login Page Should Be Open
非常感谢 在的Selenium文档中,列出了可配置属性。所需属性为ignoreProtectedModeSettings,必须将其设置为True
${dc} Evaluate sys.modules['selenium.webdriver'].DesiredCapabilities.INTERNETEXPLORER sys, selenium.webdriver
Set To Dictionary ${dc} ignoreProtectedModeSettings ${True}
Open Browser www.google.com ie desired_capabilitie=${dc}
${s2l}= Get Library Instance Selenium2Library
Log Dictionary ${s2l._current_browser().capabilities} # actual capabilities
对于来这里寻找机器人框架内解决方案的任何人:
Set Chrome Desired Capabilities
[Documentation] Create the desired capabilities object with which to instantiate the Chrome browser.
${dc} Evaluate sys.modules['selenium.webdriver'].DesiredCapabilities.CHROME sys, selenium.webdriver
${experimental_options} Create Dictionary useAutomationExtension ${False}
Set To Dictionary ${dc} chromeOptions ${experimental_options}
Set Global Variable ${DESIRED_CAPABILITIES} ${dc}
正如帕沃尔·特拉夫尼克所提到的,大卫的答案不再有效。在某个时刻,
ignoreProtectedModeSettings
键被放置在功能字典中的se:ieOptions
字典中。以下是适用于较新版本IEDriverServer的代码:
${ie_dc} = Evaluate
... sys.modules['selenium.webdriver'].DesiredCapabilities.INTERNETEXPLORER
... sys, selenium.webdriver
${ieOptions} = Create Dictionary ignoreProtectedModeSettings=${True}
Set To Dictionary ${ie_dc} se:ieOptions ${ieOptions}
Open Browser ${url} ie desired_capabilities=${ie_dc}
如果调试Selenium的Python库,特别是webdriver/remote/webdriver.py,并查看
start\u session
中的响应,您可以看到这一点。对于其他用户,一些描述可能有助于更好地理解:)我希望该描述现在有用。此解决方案在IEDriverServer 3.4.0版本中工作。当我尝试v。3.9.0它忽略了所需的功能,而功能保持为忽略保护的模式设置:错误请添加一个解释,说明它如何解决问题,而不仅仅是向我们展示一些代码。