如何使用Python selenium ChromeDriver在新选项卡中打开链接

时间:2017-09-02 16:32:54

标签: python selenium selenium-webdriver tabs selenium-chromedriver

请提供有关如何使用Python selenium Chrome Webdriver在新标签页中打开链接的建议。所以,我不是问如何简单地打开一个新标签,也不是如何用Firefox打开一个新标签。

这个在新标签页中打开同一页面:

first_link.send_keys(Keys.CONTROL + Keys.ENTER)

这也是:

first_link.send_keys(Keys.CONTROL + Keys.ENTER)

alecxe对this question的回答不起作用,因为我无法获得链接指向的网址。我需要简单地模拟鼠标右键单击> "在新标签页中打开链接"。

更新

问题原来是网站https://www.pagesjaunes.fr本身。由于某种原因,它在搜索结果中为其条目提供了错误的URL。例如对于元素:

//*[@id="bi-bloc-0437413413085060110003C0001"]/div[2]/header/div[1]/div/h2/a[2]

因此,当尝试通过Selenium或请求访问此元素的链接时,它会重定向到搜索结果本身的页面。鉴于此,我决定使用不同的方法来解决问题。

因此,我决定放弃在新标签中打开链接的方法。

3 个答案:

答案 0 :(得分:0)

以下对我很有用

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://tarunlalwani.com/post/")
action = ActionChains(driver)
elem = driver.find_element_by_link_text("How To Debug Nginx Reverse Proxy Issues")
action\
    .move_to_element(elem)\
    .key_down(Keys.SHIFT)\
    .click(elem)\
    .key_up(Keys.SHIFT)\
    .perform()

driver.quit()

答案 1 :(得分:0)

试试这个:

driver.find_element_by_tag_name("body").send_keys(Keys.COMMAND + 't')

答案 2 :(得分:-1)

您首先需要“点安装键盘”

keyboard.press("ctrl+t")