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