Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium:如何将URL粘贴到新选项卡上-Java_Java_Selenium_Selenium Webdriver_Ui Automation - Fatal编程技术网

Selenium:如何将URL粘贴到新选项卡上-Java

Selenium:如何将URL粘贴到新选项卡上-Java,java,selenium,selenium-webdriver,ui-automation,Java,Selenium,Selenium Webdriver,Ui Automation,我正在努力想办法将文本/URL粘贴到Chrome的新标签上。我正在Linux上以无头模式运行测试。 因此,我可以启动一个新选项卡,但无法将URL粘贴到导航栏上 为什么我要粘贴URL?我必须点击一个按钮,它会给我一个URL,我必须启动一个新的标签上的URL 这是我试图让它工作的代码 copyBtn.click(); //copying the URL ((JavascriptExecutor) driver).executeScript("window.open()&qu

我正在努力想办法将文本/URL粘贴到Chrome的新标签上。我正在Linux上以无头模式运行测试。 因此,我可以启动一个新选项卡,但无法将URL粘贴到导航栏上

为什么我要粘贴URL?我必须点击一个按钮,它会给我一个URL,我必须启动一个新的标签上的URL

这是我试图让它工作的代码

    copyBtn.click(); //copying the URL
    ((JavascriptExecutor) driver).executeScript("window.open()");// launching a new tab
    SeleniumUtils.switchBrowserTab(driver, 1);
    Actions actions = new Actions(driver);
    actions.sendKeys(Keys.COMMAND, "v").sendKeys(Keys.ENTER).build().perform(); //sending the paste command 
    System.out.println(driver.getCurrentUrl());
    
系统输出打印的是
about:blank
,而不是粘贴的文本。我想这是因为我没有把注意力集中在导航栏上。我准备了很多博客,但似乎没有办法专注于导航栏。 有人能告诉我们这个用例是如何实现的吗

另外,我手边没有URL,老实说,我不知道如何获得复制的URL。因为我没有在本地运行,所以无法使用ToolKit。 谢谢。

这个我用了很多:

public void openNewTab(WebDriver driver) throws InterruptedException {
    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("window.open('');");
    Thread.sleep(100);
}

public void gotoTab(WebDriver driver, int tabIndex) throws InterruptedException {
    List<String> winHandles = new ArrayList<>(driver.getWindowHandles());
    Thread.sleep(500);
    driver.switchTo().window(winHandles.get(tabIndex));
}

如果您有url,那么如何:将
“window.open()”
替换为
“window.open”(“+url+”)”
我手边没有url,单击按钮复制url。我不知道怎样才能找回它。另外,
copyBtn.getText()
没有提供复制的URL。请尝试使用java剪贴板库
WebDriver driver = ...;
openNewTab(driver);
gotoTab(driver, 1); // zero based
driver.get("...");