如何获取selenium中的文本?

2024-10-17 06:14:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我想得到selenium中元素的文本。首先,我这样做:

  team1_names = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.CSS_SELECTOR, ".home span"))
)
for kir in team1_names :
    print(kir.text)

结果没有成功。所以我试了一下:

team1_name=driver.find_elements_by_css_selector('.home span')
    print(team1_name.getText())

所以team1_name.text也不起作用。 那有什么问题吗


Tags: textname文本元素homenamesdriverselenium
1条回答
网友
1楼 · 发布于 2024-10-17 06:14:47

您需要注意以下几点:


解决方案

作为一种解决方案,需要为visibility_of_element_located()诱导WebDriverWait,并且可以使用以下Locator Strategies之一:

  • 使用CSS_SELECTOR文本属性:

    print(WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".home span"))).text)
    
  • 使用XPATHget_attribute()

    print(WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.XPATH, "//*[@class='home']//span"))).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
    

You can find a relevant discussion in How to retrieve the text of a WebElement using Selenium - Python


奥特罗

链接到有用的文档:

相关问题 更多 >