java - 使用 selenium 启动 Microsoft Edge Chromium 浏览器
问题描述
我正在尝试使用 selenium 启动 Microsoft Edge Chromium 浏览器。Microsoft Edge chromium 版本:版本 79.0.309.65(官方构建)(64 位)从https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/下载驱动程序文件
使用此代码进行相同的操作,但它给出了无法访问的浏览器异常并且无法正常工作。
1.System.setProperty("webdriver.edge.driver", "C:\\Program Files (x86)\\Microsoft\\Edge Beta\\Application\\msedgedriver.exe");
EdgeOptions options = new EdgeOptions();
BROWSER=properties.getProperty("BrowserName");
options.setCapability(BROWSER, false);
//DesiredCapabilities m_capability = DesiredCapabilities.edge();
driver= new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), options);
2.DesiredCapabilities m_capability = DesiredCapabilities.chrome();
BROWSER=properties.getProperty("BrowserName");`enter code here`
m_capability.setCapability( BROWSER, "chrome" );
driver = new ChromeDriver();
System.setProperty("webdriver.chrome.driver",
"C:\\edgedriver_win64-1\\msedgedriver.exe");
解决方案
它看起来像兼容性问题。您可以升级或降级msedgedriver
驱动程序版本以使其正常工作。
我会推荐你使用WebDriverManager
WebDriverManager 允许自动管理 Selenium WebDriver 所需的二进制驱动程序(例如 chromedriver、geckodriver 等)。
maven依赖
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>3.8.0</version>
<scope>test</scope>
</dependency>
一旦我们包含了这个依赖项,您就可以让 WebDriverManager 为您管理 WebDriver 二进制文件。现在您可以为 Edge 设置驱动程序实例。
public class EdgeDevTest {
private WebDriver driver;
@BeforeClass
public static void setupClass() {
WebDriverManager.edgedriver().setup();
}
@Before
public void setupTest() {
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.setBinary(
"C:\\Program Files (x86)\\Microsoft\\Edge Dev\\Application\\msedge.exe");
EdgeOptions edgeOptions = new EdgeOptions().merge(chromeOptions);
driver = new EdgeDriver(edgeOptions);
}
@After
public void teardown() {
if (driver != null) {
driver.quit();
}
}
推荐阅读
- swift - 引用协议元类型时关联类型的问题
- reactjs - 无法将 create-react-app 部署到 github-pages
- hyperledger-fabric - Hyperledger Fabric:链码升级和实例化
- rust - 通过函数参数传入和使用类型?
- c# - 如何禁用无边框表单c#的调整大小
- c++ - 从 gVim 打开终端
- javascript - 在 HTML CSS JAVASCRIPT 中创建洋甘菊
- xaml - 通用枚举 <-> 用于数据绑定的 Int 转换器
- python - 使用 matplotlib 可视化图像列表
- google-chrome-devtools - 当调试器在断点处停止时,有没有办法右键单击 chrome 来调出上下文菜单?