Java selenium 中使用click()方法点击超链接无效 用window.open()

用 a.click(); 无效 明明其他时候都可以的

而且就算那我获取了href 在用js打开也没反应  这是为什么呢

 ((JavascriptExecutor)driver).executeScript("window.open('"+href+"')");  

    ((JavascriptExecutor)driver).executeScript("alert('"+href+"')");  

    

    

alert能弹出

但是window.open()就没反应 在网页中控制台直接敲都好使

慕桂英4014372
浏览 768回答 1
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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript