我需要使用 python selenium 從這個 HTML 中獲取數字“3”
<div class="number">3</div>
這是 XPATH:
//*[@id="roulette-recent"]/div/div[1]/div[1]/div/div
我嘗試了類似的東西
number = navegador.find_element_by_xpath('//*[@id="rouletterecent"]/div/div[1]/div[1]/div/div').get_attribute('class')
uj5u.com熱心網友回復:
如果這個 xpath
//*[@id="rouletterecent"]/div/div[1]/div[1]/div/div
代表節點:
<div class="number">3</div>
并且你想從中提取文本,你應該使用:
number = navegador.find_element_by_xpath('//*[@id="rouletterecent"]/div/div[1]/div[1]/div/div').get_attribute('innerText')
print(number)
或者
number = navegador.find_element_by_xpath('//*[@id="rouletterecent"]/div/div[1]/div[1]/div/div').text
print(number)
uj5u.com熱心網友回復:
我想你正在尋找:
number = navegador.find_element_by_xpath('//*[@id="rouletterecent"]/div/div[1]/div[1]/div/div').text
uj5u.com熱心網友回復:
要列印文本3,您可以使用以下任一Locator Strategies:
使用css_selector和
get_attribute("innerHTML"):print(navegador.find_element(By.CSS_SELECTOR, "#roulette-recent div.number").get_attribute("innerHTML"))使用xpath和text屬性:
print(navegador.find_element(By.XPATH, "//*[@id="roulette-recent"]//div[@class='number' and text()]").text)
理想情況下,您需要為visibility_of_element_located()引入WebDriverWait ,并且您可以使用以下任一Locator Strategies:
使用CSS_SELECTOR和text屬性:
print(WebDriverWait(navegador, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "#roulette-recent div.number"))).text)使用XPATH和
get_attribute("innerHTML"):print(WebDriverWait(navegador, 20).until(EC.visibility_of_element_located((By.XPATH, "//*[@id="roulette-recent"]//div[@class='number' and text()]"))).get_attribute("innerHTML"))注意:您必須添加以下匯入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
您可以在如何使用 Selenium - Python 檢索 WebElement 的文本中找到相關討論
參考
鏈接到有用的檔案:
get_attribute()方法Gets the given attribute or property of the element.text屬性回傳The text of the element.- 使用 Selenium 的 text 和 innerHTML 之間的區別
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/411725.html
標籤:
