我正在Android Chrome的跨浏览器测试平台上工作,并面临一个挑战,我需要单击在新选项卡中打开的链接。我需要切换到该新选项卡并获取其URL。 问题是我无法切换到新打开的选项卡并获取其URL。
使用的方法 - 当使用driver.switchTo((.window(child_window(时,我得到以下错误 -
org.openqa.selenium.InvalidArgumentException: invalid argument: 'name' 必须是字符串。
但是在基于Windows的chrome(不是Android chrome浏览器(中同样可以正常工作。
平台信息 :
跨浏览器测试"浏览器名称", "Chrome"设备名称", ">Galaxy S9">
"平台版本", "9.0"平台名称", "Android"设备方向", "纵向">
你能提供用于测试的Appium/Selenium的细节吗? 我在这里发现了这个非常相似的错误:https://github.com/appium/appium/issues/13106 请检查您的版本是否高于 1.15,以确认代码中是否存在修复程序。
看起来chromedriver
本身就存在错误。W3C
协议要求对 POST/window 的调用具有句柄参数设置,但 chromedriver 仍然希望像JSONWP
中一样name
。规格在这里
它已经在Appium Beta版本v1.14.0-beta.2上进行了测试,并在Android上成功运行。请使用此版本更新您的应用程序库,至少更新到此版本或更高版本。
我找到了解决方案:
我的项目涉及Web和本机视图,所以以下是我所做的
1-使用ChromeeDriver与兼容的Android模拟器版本
2-切换到正确的视图
3- 使用的驱动程序.switchTo((.window((
谢谢大家的回答。