簡體   English   中英

如何在selenium python中獲取新打開的標簽的鏈接和頁面信息

[英]How to get link and page information of new opened tab in selenium python

我試圖抓取這個網站。 我遵循的過程是搜索用戶單擊第一個用戶並獲取有關他/她的信息。 單擊用戶后,它正在打開一個新選項卡,那么我如何在新打開的選項卡中獲取信息。

這是我搜索用戶並單擊的第一個頁面 這是我點擊每個用戶時得到的第二頁

到目前為止我寫的代碼

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait

driver = webdriver.Chrome('C:/Users/XXX/chromewebdriver/chromedriver.exe')
driver.get('https://www.tracksellers.com/')

search = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='desktop-seller-search']")))

search.click()

word = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='d-seller-autocomplete']")))

word.send_keys('james')

searchdiv = word = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='d-seller-autocomplete-box']")))

searchresult = searchdiv.find_element_by_id('list')
searchresult = searchresult.find_elements_by_tag_name('li')

searchresult[0].click()

# the above code search's for a user and click on the first user 

# next steps i tried
driver.window_handles

# gives me the below output
['CDwindow-70F83E4DCEB9D746B96FD9D965FC1BF7',
 'CDwindow-87428C4E8AF3614CFE2C461A0B3AE765']

# trying to get the current tab by using this code, but it gives only the first tab
driver.current_window_handle

# output
'CDwindow-70F83E4DCEB9D746B96FD9D965FC1BF7'

如何從一個選項卡切換到另一個選項卡並訪問標簽和其他內容。

它在一個新選項卡中,因此您需要將驅動程序焦點切換到新打開的選項卡:

driver.switch_to.window(driver.window_handles[1])

您需要在單擊第一頁后立即編寫此代碼。

  maintab = driver.current_window_handle




  for handle in driver.window_handles:
            if handle != main_page:
              othertab = handle

 driver.switch_to.window(othertab)

在此之后,您可以在 tab2 上使用您的代碼此外,您可以使用此代碼切換回主選項卡

 driver.switch_to.window(maintab)

再次

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM