selenium - 如何从当前窗口打开新标签?
问题描述
我使用下面的代码打开新标签..但它不起作用..有人可以帮忙,有没有其他方法可以做到这一点?
Robot rr= new Robot();
rr.keyPress(KeyEvent.VK_CONTROL);
rr.keyPress(KeyEvent.VK_T);
rr.keyRelease(KeyEvent.VK_CONTROL);
rr.keyRelease(KeyEvent.VK_T);
Set<String> allWindows=driver.getWindowHandles();`enter code here`
System.out.println(allWindows);
List<String> list=new ArrayList<String>();
driver.switchTo().window(list.get(1));
driver.get("url");
解决方案
您可以使用 Javascript 执行器在同一窗口中打开新标签页。请按照以下方法操作:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("window.open();");
我已经在我的 MAC 机器上尝试过了,它按预期工作。
推荐阅读
- sql - 如何从postgres的文本列中获取第n行
- python - 为什么对称矩阵的 Numpy 特征向量不能构造原始矩阵
- javascript - 使用 axios 和 nuxt 进行服务器和客户端 API 调用的不同 baseURL
- jquery - jQuery slidetoggle 旋转动画
- spring-boot - 为什么我们应该总是在 Spring Rest 中为 GET、PUT、POST 返回资源或 DTO?
- c# - 模型为空,即使它在 MVC 5 视图中传递
- mysql - 从字段 sql/presto 中提取子字符串
- java - 带有用户名和密码的 JsonObjectRequest
- java - Xpages - 在 java 类“java.util.AbstractList$SimpleListIterator”上调用方法“next()”时出错
- rxjs - 组合多个流/可观察对象以使用映射运算符