【问题标题】:Xpath and CssSelector not extracting data using Selenium and PythonXpath 和 CssSelector 不使用 Selenium 和 Python 提取数据
【发布时间】:2020-12-23 22:11:31
【问题描述】:

我试图在主要部分的顶部提取全部列表(在本例中,它当前显示 72 个列表)。我试过By.XPATHBy.CSS_SELECTOR 都没有运气......知道为什么这不起作用吗?

driver.get('https://swappa.com/mobile/buy/apple-iphone-8/att')
n = WebDriverWait(driver, 0.01).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".col-xs-9 pull-left"))).text

【问题讨论】:

  • 为你的cssSelector试试这个值".col-xs-9.pull-left small"
  • 这对我没有任何回报...想法?
  • .text 更改为 .get_attribute('innerHTML')

标签: python selenium xpath css-selectors webdriverwait


【解决方案1】:

要打印 文本 72 Listings,您可以使用以下任一 Locator Strategies

  • 使用css_selectorget_attribute("innerHTML")

    print(driver.find_element_by_css_selector("section#section_billboard h2 small").get_attribute("innerHTML"))
    
  • 使用xpathtext属性:

    print(driver.find_element_by_xpath("//section[@id='section_billboard']//h2//small").text)
    

理想情况下,您需要为visibility_of_element_located() 诱导WebDriverWait,您可以使用以下任一Locator Strategies

  • 使用CSS_SELECTORtext属性:

    driver.get('https://swappa.com/mobile/buy/apple-iphone-8/att')
    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "section#section_billboard h2 small"))).text)
    
  • 使用XPATHget_attribute()

    driver.get('https://swappa.com/mobile/buy/apple-iphone-8/att')
    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//section[@id='section_billboard']//h2//small"))).get_attribute("innerHTML"))
    
  • 控制台输出:

    value
    
  • 注意:您必须添加以下导入:

    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
    • 2020-10-23
    • 2021-05-02
    • 1970-01-01
    • 2020-08-25
    • 1970-01-01
    • 2015-08-21
    • 2020-12-16
    相关资源
    最近更新 更多