通过selenium Python将地址发送到新打开的选项卡

时间:2015-10-20 15:04:30

标签: python selenium

我正在尝试打开新标签并将新的网址复制到其中

我目前可以通过body.send_keys(Keys.CONTROL + 't')

打开新标签页
    driver = webdriver.Firefox()
    #time.sleep(2)  #wait 1 second
    driver.get("https://stackoverflow.com/")
    body = driver.find_element_by_tag_name("body")
    body.send_keys(Keys.CONTROL + 't')

但我不知道如何将新地址复制到网址

我试过

driver.find_element_by_link_text("").send_keys("https://google.com/")

但不确定链接文本中有什么内容

有什么建议吗?

为什么不重复:

问题是find_element_by_link_text("")内部的问题。仅作为重复发送的页面表示urlLink。这是什么意思?

2 个答案:

答案 0 :(得分:1)

蒂尔。

这是你在java中的方法:

1)您可以访问Gmail主页(baseURL)

   public void goToLoginPage() throws InterruptedException {
    driver.get(baseUrl + "/intl/en/mail/help/about.html");
    driver.findElement(By.id("gmail-sign-in")).click();
}

2)在这里打开一个新选项卡,方法是将selectLinkOpeninNewTab组合键(CTRL + T)发送到xpath(“html”)元素。然后你只需导航到另一个链接(在我的情况下是facebook)

       public void openNewTab() throws InterruptedException {
   String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL+ "t");
    driver.findElement(By.xpath("html")).sendKeys(selectLinkOpeninNewTab);
    driver.navigate().to("https://facebook.com");

    Thread.sleep(2000);

}

我认为你很容易用Python转换它

答案 1 :(得分:-2)

作为对您的问题的评论发布的链接How to open a new tab using Selenium WebDriver?确实指定了link_text元素的内容。看看答案。 此外,driver.get("someurl")也应该有效,就像您在启动驱动程序时导航到网址的方式一样。我只是测试了它并且它完美地工作了