javascript - Java selenium 中使用click()方法点击超链接无效 用window.open() 也打不开页面
问题描述
用 a.click(); 无效 明明其他时候都可以的
而且就算那我获取了href 在用js打开也没反应 这是为什么呢 ((JavascriptExecutor)driver).executeScript('window.open(’'+href+'’)'); ((JavascriptExecutor)driver).executeScript('alert(’'+href+'’)'); alert能弹出
但是window.open()就没反应 在网页中控制台直接敲都好使
问题解答
回答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
相关文章:
1. Java中main方法里面的参数一定要是String []args吗?2. 系统重装后,恢复mysql5.5?3. docker绑定了nginx端口 外部访问不到4. javascript - node.js中stat() access() open() readFile()都能判断文件是否存在?5. html5 - 目前 公司App 嵌入H5页面 做个 手机支付功能 没有做过 所以 请求各位有经验的 给个思路6. font-family - 我引入CSS3自定义字体没有效果?7. mysql - sql 左连接结果union右连接结果,导致重复性计算怎么解决?8. css - 如何讓圖片像雲一樣的行為?9. javascript - js 多维数组的问题10. node.js - Nodejs微信开发,视频上传成功,但是不返回给用户

网公网安备