我的Python(3.6.3)代码中有这个HTML元素(当然是Selenium webelement):
<span class="ocenaCzastkowa masterTooltip" style="color:#000000;" alt="Kod:
pd1<br/>Opis: praca domowa<br/>Waga: 2,00<br/>Data: 12.09.2017<br/>Nauczyciel:
(NAME CENSORED)">5</span>
我希望得到最后的值(在这种情况下是5),我不知道如何得到它。
显然我不能使用webelement.get_attribute()
因为我不知道属性的名称。
答案 0 :(得分:3)
请尝试以下代码:
span_element = driver.find_element_by_css_selector(".ocenaCzastkowa.masterTooltip")
span_element.text # This will return "5".
PS:您也可以使用span_element.get_attribute("value")
。
希望它可以帮到你!
答案 1 :(得分:0)
要打印 textContent,即 5,您可以使用以下任一 Locator Strategies:
使用 css_selector
:
print(driver.find_element(By.CSS_SELECTOR, "div.ocenaCzastkowa.masterTooltip").text)
使用 xpath
:
print(driver.find_element(By.XPATH, "//span[@class='ocenaCzastkowa masterTooltip']").text)
理想情况下,您需要为 visibility_of_element_located()
引入 WebDriverWait,并且您可以使用以下任一 Locator Strategies:
使用 CSS_SELECTOR
:
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.ocenaCzastkowa.masterTooltip"))).text)
使用 XPATH
:
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//span[@class='ocenaCzastkowa masterTooltip']"))).text)
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
您可以在 How to retrieve the text of a WebElement using Selenium - Python
中找到相关讨论