硒在更改到新选项卡时引发奇怪的错误

时间:2019-06-13 20:46:40

标签: selenium selenium-webdriver webdriver

在使用Selenium Web驱动程序切换选项卡时出现异常错误。 这是引发错误的代码

        var tabs = WebDriver.WindowHandles;
        WebDriver.SwitchTo().Window(tabs[tabs.Count - 1]);

此代码只是切换到新打开的标签页。

invalid argument: 'handle' must be a string

(Session info: chrome=75.0.3770.80)

Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11- 
14T08:25:53'

System info: host: 'DESKTOP-9QCDGLU', ip: '10.194.143.155', os.name: 'Windows 10', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_161'

Driver info: driver.version: unknown

传递的值.Window()是一个字符串,但错误表明该参数无效。

1 个答案:

答案 0 :(得分:0)

只要您使用与Webdriver打开相同的窗口,就不需要切换。重定向后,您可以尝试再次切换到窗口。

为您保存窗口句柄:

String myWindowHandle = driver.getWindowHandle();

重定向到所需的页面,然后使用窗口句柄调用switchTo:

driver.switchTo().window(myWindowHandle );

您的页面是否包含任何框架?重定向后,您可能还不在正确的帧中。