【问题标题】:How can i get the text in selenium?我怎样才能得到硒中的文字?
【发布时间】:2020-11-22 03:05:19
【问题描述】:

我想在 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 也不起作用。 那么它有什么问题呢?

【问题讨论】:

  • 您好,.text 是获取对象文本的正确方法,但是我们需要更多上下文。当您说“它没有炒出”并且它“不起作用”时,会发生什么?有错误吗? - 另外:html 源代码是什么样的?您是否获得了正确的对象(即带有文本的对象)?您能否分享一个指向该页面的链接,以便其他人可以直接查看而不是猜测答案?

标签: python selenium web-scraping data-mining


【解决方案1】:

您需要在这里处理几件事:


解决方案

作为解决方案,需要为visibility_of_element_located() 诱导WebDriverWait,您可以使用以下任一Locator Strategies

  • 使用CSS_SELECTORtext属性:

    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
    

您可以在How to retrieve the text of a WebElement using Selenium - Python找到相关讨论


结尾

链接到有用的文档:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-22
    • 1970-01-01
    • 2018-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多