首页 > 解决方案 > 我试图复制在新选项卡中打开但复制旧选项卡 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?

标签: javaseleniumtestingautomated-tests

解决方案


单击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在您的基础架构中使用该对象,因此我将其用作常规对象,与任何页面对象实例无关。


推荐阅读