javascript – Die Verwendung der click()-Methode zum Klicken auf einen Hyperlink in Java Selenium ist ungültig und die Seite kann nicht mit window.open() geöffnet werden.
PHP中文网
PHP中文网 2017-06-05 11:08:28
0
1
1108

Die Verwendung von a.click(); ist ungültig, offensichtlich funktioniert es zu anderen Zeiten

而且就算那我获取了href 在用js打开也没反应  这是为什么呢
 ((JavascriptExecutor)driver).executeScript("window.open('"+href+"')");  
    ((JavascriptExecutor)driver).executeScript("alert('"+href+"')");  
    
    
alert能弹出

Aber window.open() reagiert nicht, wenn ich es direkt auf der Konsole auf der Webseite eingebe.

PHP中文网
PHP中文网

认证高级PHP讲师

Antworte allen(1)
習慣沉默

window.open()打开的是新标签,你需要切换handles。给你两个方法参考:

    public static void changeWindow(WebDriver driver){
        // 获取当前页面句柄
        String handle = driver.getWindowHandle();
        // 获取所有页面的句柄,并循环判断不是当前的句柄,就做选取switchTo()
        for (String handles : driver.getWindowHandles()) {
            if (handles.equals(handle))
                continue;
            driver.switchTo().window(handles);
        }
    }
    public static void changeWindowTo(WebDriver driver,String handle){
        for (String tmp : driver.getWindowHandles()) {
            if (tmp.equals(handle)){
                driver.switchTo().window(handle);
                break;
            }
        }
    }

至于click不了,可能是因为那个元素不显式可见,或者需要聚焦,或你用Selenium操作不当,不过建议可以尝试js click

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage