gpt4 book ai didi

java - 如何有效改变WebDriver对象的浏览器名称?

转载 作者:行者123 更新时间:2023-11-30 06:30:07 25 4
gpt4 key购买 nike

我打算通过使用 selenium 和多个 Web 浏览器来执行一些测试。为了区分不同的网络驱动程序,我使用以下代码行:

((RemoteWebDriver) driver).getCapabilities().getBrowserName();

这将返回一个字符串,指示 driver 对象使用的 Web 浏览器。但是,对于我的 Opera WebDriver 对象,这将为我提供字符串“chrome”。我尝试通过使用 DesiredCapability 将浏览器名称显式设置为“opera”来更改此设置:

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setBrowserName("opera");
WebDriver driver = new OperaDriver(capabilities);

不幸的是,这并不能解决我的问题。如何有效更改网络浏览器名称?

最佳答案

如果我是对的,您的基本要求是识别浏览器初始化,这可以通过使用 JavascriptExecutor 从浏览器获取用户代理来完成,如下所示:

String userAgent = (String) ((JavascriptExecutor) driver).executeScript("return navigator.userAgent;");

//following is for identifying opera browser initialization
if(userAgent.contains("OPR/"){

System.out.println("Browser currently in use is Opera");

}

同样,您可以通过引用 this 来识别其他浏览器初始化。链接

关于java - 如何有效改变WebDriver对象的浏览器名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46340747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com