簡體   English   中英

Python + Selenium — 打印出文本

[英]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.

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