Python Selenium:打开新链接并切换选项卡以获取内容

Python Selenium:打开新链接并切换选项卡以获取内容,python,selenium,Python,Selenium,我尝试获取一些链接的内容。 所以我打开一些链接,然后点击想要的链接,它会在新的标签页中打开,然后尝试获取它的内容 但我无法切换到打开的单击链接 我试着 但它也会在第一次打开链接时返回内容 我怎样才能解决这个问题?如何切换到我尝试单击的已打开链接的选项卡?然后关闭该选项卡并切换回?您必须使用窗口句柄切换到新选项卡。请阅读本页的更多内容 driver.window\u句柄将给出可用的窗口句柄列表 驱动程序。当前窗口句柄将打印当前窗口句柄 from selenium import webdriver

我尝试获取一些链接的内容。 所以我打开一些链接,然后点击想要的链接,它会在新的标签页中打开,然后尝试获取它的内容

但我无法切换到打开的单击链接

我试着

但它也会在第一次打开链接时返回内容


我怎样才能解决这个问题?如何切换到我尝试单击的已打开链接的选项卡?然后关闭该选项卡并切换回?

您必须使用窗口句柄切换到新选项卡。请阅读本页的更多内容

driver.window\u句柄
将给出可用的窗口句柄列表

驱动程序。当前窗口句柄
将打印当前窗口句柄

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome('/path/to/chromedriver')
url="http://www1.fips.ru/wps/portal/!ut/p/c5/jY5bDkNAGIXX0hXMjyleh6QzlKnbKF5E0kZIXRJCa_VlAbTnPJ58Jx_K0Nq2mKqyGKuuLV4oQZmaWxbx2JVKcJNdAKJzQS62KgNV1j1Vc5MShjUHgPLABAsbWGbUkMFS_qFhJwR-0HeUAM7DWu_dz5g4izlF9eK_B8efh4VIPBLgcsd7xIEwiNFgO4hXJttej4y3_cCJs655ohRl2p4bDc-ob4SYejaX5HT6Ahe0tjA!/dl3/d3/L0lDU0lKSmdwcGlRb0tVUW9LVVFvS1VRIS9ZQVVJQUFJSUlJTU1JQ0tDRUFBRUFDR0lLQUdJT0JKQkpPQkZORk5PRkRMRExPREEvNEMxYjlXX05yMGdDVWd4RW1SQ1V3cE1oRXBSU1pHSlRpQSEhLzdfSUlBUEhLRzEwTzJNMDBBOE5VQUZKNjJHUzUvd2x5Snc5OTUzMDEwNi80MDk4Njg1NTc1NjcvbWF4TGV2ZWwvMS9ub2RlSWQvNTgvYWNOYW1lL2NsaWNrVHJlZQ!!/"
driver.get(url)
element=WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH ,'//*[@id="mainContent"]/table/tbody/tr[1]/td/div[2]/table/tbody/tr[1]/td[2]/div[2]/div/table/tbody/tr/td/table/tbody/tr/td[1]/table/tbody/tr/td/div/table/tbody/tr/td/div[1]/table/tbody/tr[2]/td[2]/a')))
element.click()
element=WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH ,'//*[@id="mainContent"]/table/tbody/tr[1]/td/div[2]/table/tbody/tr[1]/td[2]/div[2]/div/table/tbody/tr/td/table/tbody/tr/td[1]/table/tbody/tr/td/div/table/tbody/tr/td/div/ul/ul/ul/ul/ul/li[1]/a[2]')))
element.click()
#below opens in a new tab
element=WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH ,'//*[@id="mainContent"]/table/tbody/tr[1]/td/div[2]/table/tbody/tr[1]/td[2]/div[2]/div/table/tbody/tr/td/table/tbody/tr/td[1]/table/tbody/tr/td/div/table/tbody/tr/td/table[2]/tbody/tr[1]/td[3]/a')))
element.click()
driver.switch_to.window(driver.window_handles[1])
element=WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH ,'//*[@id="NameDoc"]/b')))
print(element.text)
使用
driver.switch_to.window
切换到车窗把手

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome('/path/to/chromedriver')
url="http://www1.fips.ru/wps/portal/!ut/p/c5/jY5bDkNAGIXX0hXMjyleh6QzlKnbKF5E0kZIXRJCa_VlAbTnPJ58Jx_K0Nq2mKqyGKuuLV4oQZmaWxbx2JVKcJNdAKJzQS62KgNV1j1Vc5MShjUHgPLABAsbWGbUkMFS_qFhJwR-0HeUAM7DWu_dz5g4izlF9eK_B8efh4VIPBLgcsd7xIEwiNFgO4hXJttej4y3_cCJs655ohRl2p4bDc-ob4SYejaX5HT6Ahe0tjA!/dl3/d3/L0lDU0lKSmdwcGlRb0tVUW9LVVFvS1VRIS9ZQVVJQUFJSUlJTU1JQ0tDRUFBRUFDR0lLQUdJT0JKQkpPQkZORk5PRkRMRExPREEvNEMxYjlXX05yMGdDVWd4RW1SQ1V3cE1oRXBSU1pHSlRpQSEhLzdfSUlBUEhLRzEwTzJNMDBBOE5VQUZKNjJHUzUvd2x5Snc5OTUzMDEwNi80MDk4Njg1NTc1NjcvbWF4TGV2ZWwvMS9ub2RlSWQvNTgvYWNOYW1lL2NsaWNrVHJlZQ!!/"
driver.get(url)
element=WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH ,'//*[@id="mainContent"]/table/tbody/tr[1]/td/div[2]/table/tbody/tr[1]/td[2]/div[2]/div/table/tbody/tr/td/table/tbody/tr/td[1]/table/tbody/tr/td/div/table/tbody/tr/td/div[1]/table/tbody/tr[2]/td[2]/a')))
element.click()
element=WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH ,'//*[@id="mainContent"]/table/tbody/tr[1]/td/div[2]/table/tbody/tr[1]/td[2]/div[2]/div/table/tbody/tr/td/table/tbody/tr/td[1]/table/tbody/tr/td/div/table/tbody/tr/td/div/ul/ul/ul/ul/ul/li[1]/a[2]')))
element.click()
#below opens in a new tab
element=WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH ,'//*[@id="mainContent"]/table/tbody/tr[1]/td/div[2]/table/tbody/tr[1]/td[2]/div[2]/div/table/tbody/tr/td/table/tbody/tr/td[1]/table/tbody/tr/td/div/table/tbody/tr/td/table[2]/tbody/tr[1]/td[3]/a')))
element.click()
driver.switch_to.window(driver.window_handles[1])
element=WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH ,'//*[@id="NameDoc"]/b')))
print(element.text)
输出

ОПИСАНИЕ ИЗОБРЕТЕНИЯ К ПАТЕНТУ

输出是来自新选项卡的文本。如果需要,您可以打印整个页面源。

您可以共享url和上下文以便我们测试它吗out@BittoBennichan主要链接是
http://www1.fips.ru/wps/portal/!ut/p/c5/jY5bDkNAGIXX0hXMjyleh6QzlKnbKF5E0kZIXRJCa\U VlAbTnPJ58Jx\U K0NQ2MKQYGKULV4OQZMAWX2JVKKJNKJJZQS62KGNV1J1VC5MshjughglabasbwbukMFS\U qFhJwR-0HeUAM7DWu DZ5G4IZLF9EF8EFH4VIPBLGCSD7XINFGO4JJ3\U CCJS65OHLL2PC4C-SYX5H5H5H5H5H6H6H6H6H6H6HEBJJJJJJJA/dl3/d3/L0LDU0LKSMDWCGLRB0TVUW9LVVFVS1VRIS9ZQVVJQUFJSULJTU1JQ0TRUFBRUDR0LLQUDJT0JKQKPPQKZORK5PRMREXPREVNXYJLXX05YMGDVWD4RW1Q1V3C1或XBSU1HSLRPQSEHLZDFSULBUEHLZEWTZJNBBOE5VZKJJHUDWD2X5SNC50TRUZUZUZKWWWWZ2WWW2WWWWWW9W9W9W9W9LV9V9W9W9V9V9W9W9W9V9W9V9V9V9W9V9W9V9V9V9V9V9V9V9V9V9V9V/
@BittoBennichan并尝试打开
http://www1.fips.ru/fips_servl/fips_servlet?DB=RUTM&rn=2453&DocNumber=1&TypeFile=html