頁面上有這樣的 HTML 代碼,我需要獲取其文本以進行檢查,或者使用 Selenium獲取740 。
<button data-v-3630a784="" class="currency-btn mr10"><div data-v-3630a784="" class="progress"><div data-v-3630a784="" class="progress-bg anim" style="transform: scaleX(0.458333);"></div></div> <div data-v-3630a784="" class="num flex align-center icon-mana">740</div> <!----></button>
uj5u.com熱心網友回復:
要列印文本740,您可以使用以下任一定位器策略:
使用css_selector和
get_attribute("innerHTML"):print(driver.find_element(By.CSS_SELECTOR, "button[class*='currency-btn'] div.num.flex.align-center.icon-mana").get_attribute("innerHTML"))使用xpath和text屬性:
print(driver.find_element(By.XPATH, "//button[contains(@class, 'currency-btn')]//div[@class='num flex align-center icon-mana']").text)
要理想地提取文本740,您需要為visibility_of_element_located()引入WebDriverWait,您可以使用以下任一定位器策略:
使用CSS_SELECTOR和text屬性:
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "button[class*='currency-btn'] div.num.flex.align-center.icon-mana"))).text)使用XPATH和
get_attribute("innerHTML"):print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//button[contains(@class, 'currency-btn')]//div[@class='num flex align-center icon-mana']"))).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/houduan/442011.html
