2017-09-02 220 views
-2

请指教如何使用Python selenium Chrome Webdriver在新选项卡中打开链接。所以,我不问如何简单地打开一个新标签,也不要问如何用Firefox打开一个新标签。使用Python selenium在一个新选项卡中打开链接Chrome Chrome浏览器驱动程序

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

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

这一个太:

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

alecxe答案this question因为不工作,我不能让一个URL的链接是指着。我需要简单地模拟右键单击>“在新选项卡中打开链接”。

*****后方可评论UPDATE *****

的问题原来是与网站本身https://www.pagesjaunes.fr。出于某种原因,它会在搜索结果中输入错误的网址。例如元素// * [@ id =“bi-bloc-0437413413085060110003C0001”]/div [2]/header/div 1/div/h2/a [2] 因此,当试图链接此元素通过Selenium或请求访问,它会重定向到搜索结果本身的页面。鉴于此,我决定采用不同的方法来解决问题。

因此我决定放弃在新选项卡中打开链接的方法。

+0

你有没有尝试任何建议的解决方案吗?如果其中一人解决了您的问题,请[接受](https://stackoverflow.com/help/accepted-answer)或提供一些反馈,否则 – Andersson

回答

0

试试这个:

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

尝试一次它的工作 – iamsankalp89

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() 
+0

它将在同一个选项卡中打开链接。我需要它在一个新选项卡中打开 –

+0

我打开一个新窗口而不是一个选项卡。但两个窗口在同一浏览器 –

0

您可以修改HTML源代码给力所需的链接在新标签页中打开。只需添加/设置属性target"_blank"如下:

link = driver.find_element_by_link_text('link text') 
driver.execute_script('arguments[0].target="_blank";', link) 
link.click() 
+0

这个解决方案不好,因为我没有访问该链接。没错,元素的'href'不包含链接 –

0

这里是Python 3.6.1的代码块,使用chromedriverGoogle Chrome,打开网址http://www.google.com,打印标题,然后打开一个新的TAB与URL http://facebook.com/铸造WebDriver实例JavascriptExecutor

from selenium import webdriver 

driver = webdriver.Chrome(executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe') 
driver.get('https://www.google.co.in') 
print("Page Title is : %s" %driver.title) 
driver.execute_script("window.open('http://facebook.com/');") 
+0

这个解决方案不好,因为我没有访问链接。对,元素的'href'不包含链接。一旦我在浏览器中点击它,它会将我重定向到正确的页面。 –

相关问题