当前位置: 首页 > 知识库问答 >
问题:

Selenium:如何将URL粘贴到新标签上-Java

夹谷辰沛
2023-03-14

我正在努力想办法把文本/网址粘贴到Chrome的新标签上。我正在Linux上以无头模式运行测试。因此,我能够启动一个新的标签,但无法粘贴导航栏上的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());
    

sysout正在打印about:blank而不是粘贴的文本。我想这是因为我没有把注意力集中在导航栏上。我准备了很多博客,但似乎没有办法专注于导航栏。有人能解释一下这个用例是如何实现的吗?

另外,我没有手边的网址,老实说,我不知道如何才能得到复制的网址。因为我不是在本地运行,所以我不能使用工具包。谢谢你。

共有1个答案

施知
2023-03-14

这个我用了很多:

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));
}
WebDriver driver = ...;
openNewTab(driver);
gotoTab(driver, 1); // zero based
driver.get("...");
 类似资料:
  • 我有一个警告框,在文本输入区域显示一个URL,并将链接复制到剪贴板。我希望能够打开一个新的标签,并粘贴到地址栏的URL。 我试过:

  • 我想把我的应用程序的标签放到中心。默认情况下,它向左对齐。 标签是该隐这个词, 我怎么能那么做?下面是AndroidManifest.xml的代码:

  • 我想从URL中复制image/gif而不下载它,例如,我想将此gif复制到剪贴板https://media.gify.com/media/l49jl8rj2voexlmm0/giphy.gif并将此gif粘贴到此站点https://paste.pics/ 我试了所有的办法,但都没用。 代码试用:复制到剪贴板: 粘贴1 粘贴2 所以我不知道该怎么做,请协助

  • 问题内容: 我在Windows 7上使用Python 2.7和Selenium 2-44-0。我正在寻找一种比send_keys更快的输入文本的方法。Send_keys一次打印1个字母(更好地模仿实际用户)。我想要一种将所有内容一次性打印出来的方法,就像粘贴内容一样。 例如,Sikuli具有以下功能: 我想知道是否有一种方法可以用Python编写具有相同结果的方法。因此,代替: 有类似的东西 由于

  • 问题内容: 我正在寻找一个如何将文本复制到iOS剪贴板的干净示例,然后可以在其他应用程序中使用/粘贴该文本。 此功能的优点是可以快速复制文本,而无需传统文本复制的标准文本突出显示功能。 我假设键类在其中,但是在它们提供的代码示例中找不到相关的区域。 问题答案: 如果您只需要纯文本,则可以使用属性。它既可读又可写: (从剪贴板中 读取数据时 ,UIPasteboard文档还建议您首先检查一下,“以避

  • 我对包含Selenium的代码有一个问题:当我在新选项卡中打开一个链接时,程序不在新选项卡上工作,而是在旧选项卡上工作。我试图用CTRL选项卡更改选项卡,但这不起作用。然后我尝试了以下代码,我在另一个问题中发现:在新选项卡中打开链接并在选项卡之间切换(Selenium WebDRiver Python) 这也没用…有人知道吗? PS:我正在使用Python 3.8.3