java - 我试图复制在新选项卡中打开但复制旧选项卡 url 的 URL。java - 如何复制新标签页url java selenium?
问题描述
java - 如何复制新标签页url java selenium?
'package TestCases;
public class Learn_TC3 extends SuperTestScript
{
@Test
public void LoginTC1() throws Exception
{
//all the required data
String USRID = ExcelLibrary.readData("Sheet1", 0, 0);
String PSW = ExcelLibrary.readData("Sheet1", 0, 1);
//create page objects
LearnPage Lp = new LearnPage();
Tabswitch Ts = new Tabswitch();
//invoke the methods
Lp.ClickonMaterialsButton();
Thread.sleep(3000);
Lp.ClickonPDF1();//By clicking on pdf. Pdf opens in new tab
String CurrentUrl = driver.getCurrentUrl();// to Fetch new url
ExcelLibrary.writeData("Sheet1", 0, 4, CurrentUrl);//write url to excel sheet?
Ts.switchToPreviousTabAndClose(); //Closing new tab
}
}'
我试图复制在新选项卡中打开但复制旧选项卡 url 的 URL。java - 如何复制新标签页url java selenium?
解决方案
单击Lp.ClickonPDF1()
它会打开一个新选项卡后,您必须将 Selenium 驱动程序切换到打开的选项卡才能在那里执行操作。
所以你的代码可以是这样的:
Lp.ClickonMaterialsButton();
Thread.sleep(3000);
Lp.ClickonPDF1();//By clicking on pdf. Pdf opens in new tab
Thread.sleep(500);
List<String> tabs = new ArrayList<>(driver.getWindowHandles());
driver.switchTo().window(tabs.get(tabs.size()-1));
String CurrentUrl = driver.getCurrentUrl();// to Fetch new url
ExcelLibrary.writeData("Sheet1", 0, 4, CurrentUrl);//write url to excel sheet?
Ts.switchToPreviousTabAndClose(); //Closing new tab
不确定如何driver
在您的基础架构中使用该对象,因此我将其用作常规对象,与任何页面对象实例无关。
推荐阅读
- dialogflow-es - 对谷歌缺少访问令牌的操作
- firmware - 使用 angr 分析固件文件
- selenium - 网络抓取期间的“消息:无效会话 ID”
- java - 在具有超类的 JPA 中创建规范
- bash - 列出带有关联容器的 docker 镜像
- django-viewflow - Viewflow:获取当前待处理任务的最佳/规范方法是什么?
- mysql - SQL Join 花费了太多时间
- node.js - 如何从 HTTP 请求中获取浏览器和操作系统?
- javascript - 自动检测浏览器语言并相应地启动站点
- php - 在 Alpine Linux 中运行多个 PHP 版本