java - 如何在不添加 IE 驱动程序或 Chrome 驱动程序的情况下启动已安装的浏览器?

标签 java internet-explorer selenium selenium-webdriver chrome-web-driver

我的电脑已经安装了IE和chrome浏览器。我想从带有所有附加组件和默认设置的原始浏览器运行我的 selenium 脚本。

我能够找到具有某些功能的浏览器的*.exe。但无法在浏览器中写入和打开链接(driver.get())。请引用以下代码。

DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
cap.setCapability(InternetExplorerDriver.INITIAL_BROWSER_URL, DriverTestNG.url);
DesiredCapabilities.internetExplorer().setCapability("ignoreProtectedModeSettings", true);
System.setProperty("webdriver.ie.driver", "src/main/resources/Framework/Drivers/Windows/IEDriverServer_Win32_2.40.0/IEDriverServer.exe");
cap.setCapability("IE.binary", "C:\\Program Files\\Internet Explorer\\iexplore.exe");
cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
cap.setJavascriptEnabled(true);
cap.setCapability("requireWindowFocus", true);
cap.setCapability("enablePersistentHover", false);
cap.setCapability("elementScrollBehavior", 1);
cap.setCapability("cssSelectorsEnabled", true);
cap.setCapability("nativeEvents", true);
driver = new InternetExplorerDriver(cap);

可能我错过了一些东西。我不确定 selenium Web 驱动程序是否支持此功能。

请指导我。

提前致谢。

最佳答案

关于您的标题,如果不使用 webDriver,您将无法运行 Internet Explorer 或 Chrome,因为您需要 webDriver 作为 API 来访问 IE 或 Chrome 的功能.

但您仍然可以使用扩展程序和默认设置。您看不到任何扩展程序运行 chromeDriver 的原因是它始终为每个测试 session 创建一个新的临时配置文件。如果您想使用扩展和设置运行自己的自定义配置文件,则必须通过定义user-data-dir来告诉 chromeDriver 它应该使用哪个用户配置文件。

您可以在此处找到这些功能: https://sites.google.com/a/chromium.org/chromedriver/capabilities

示例:

ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=C:/Users/user_name/AppData/Local/Google/Chrome/User Data");

您还可以使用以下方式指定扩展名: https://sites.google.com/a/chromium.org/chromedriver/extensions

我不使用IEdriver,所以我无法告诉你它如何与 IE 一起工作,但据我所知,Internet Explorer 没有配置文件,并且扩展程序在 IE 中的某个位置进行管理。注册表。因此,我假设在运行测试之前安装的扩展也可以通过 IEWebDriver 使用。

关于java - 如何在不添加 IE 驱动程序或 Chrome 驱动程序的情况下启动已安装的浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32601446/

相关文章:

java - 无法从 Modern.ie 站点在 VirtualBox Win 7 VM 中安装 Java

java - 用于检查 Selenium WebDriver 中项目列表的循环

java - 为什么我们在 selenium webdriver 中需要 guava?

java - 在 JAVA 中通过 API 更改 Jenkins 构建名称和描述

java - Grails 1.3.7 执行脚本时出错 War : Provider for javax. xml.parsers.SAXParserFactory 找不到

Javascript正则表达式跨浏览器差异

java - 我们如何在 selenium java 中检查滚动条是否可滚动?

java - 嵌入Java应用程序的可移植Web浏览器?

java - 如果 DataInputStream 不支持标记/重置,如何再次读取二进制文件的部分内容

javascript - IE JS : how to use pasteHTML() when selection. 类型 == 'None' ?