[英]Python + Selenium — Print out text
在 Selenium 中,我想打印一個名為的 span 元素:
<td class="Fw(b) Fz(s) Ta(end) Pb(20px)" data-reactid="60">
<span data-reactid="61">23,849,000</span>
</td>
我需要打印出“23,849,000”。
我試過這個,但它似乎不起作用:
print driver.find_element_by_xpath('''//*[@id="Col1-1-Financials-Proxy"]''').text
如果您知道可能有幫助的解決方案,我將非常感謝您的幫助,因為我不知道答案。
required 值是動態生成的,所以需要等到它出現在DOM中:
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait as wait
print(wait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//span[@data-reactid='61']"))).text)
嘗試:
driver.find_element_by_xpath('.//div[@class="Fw(b) Fz(s) Ta(end) Pb(20px)"]')
您需要指定正確的路徑才能到達跨度內的文本
要根據給定的HTML
打印 span 元素,您可以使用以下代碼行:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# code block
print(WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//*[@id='Col1-1-Financials-Proxy']//td[@class='Fw(b) Fz(s) Ta(end) Pb(20px)']//following::span[1]"))).get_attribute("innerHTML"))
print(driver.page_source)
為我工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.