【问题标题】:How to extract the Subtotal Price using Selenium and Python如何使用 Selenium 和 Python 提取小计价格
【发布时间】:2022-01-05 07:06:58
【问题描述】:

我正在使用 Xpath,但无法提取我需要的信息。

它基本上是一个价格 - 小计。附加了 HTML 图像,下面是我使用的 xpath 代码。我错过了什么?最后,我希望将价格值转换为字符串。

w = driver.find_element_by_xpath('//*[@id="order-summary"]/section/section[3]/div/table/tbody/tr[2]/td/span')
print(w.text())

【问题讨论】:

    标签: python selenium xpath css-selectors webdriverwait


    【解决方案1】:

    要打印价格 - 小计文本,即 $27.99,您可以使用以下任一Locator Strategies

    • 使用css_selectorget_attribute("innerHTML")

      print(driver.find_element(By.CSS_SELECTOR, "td.total-line__price > span.order-summary__emphasis").get_attribute("innerHTML"))
      
    • 使用xpathtext属性:

      print(driver.find_element(By.XPATH, "//td[@class='total-line__price']/span[contains(@class, 'order-summary__emphasis')]").text)
      

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

    • 使用CSS_SELECTORtext属性:

      print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "std.total-line__price > span.order-summary__emphasis"))).text)
      
    • 使用XPATHget_attribute("innerHTML")

      print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//td[@class='total-line__price']/span[contains(@class, 'order-summary__emphasis')]"))).get_attribute("innerHTML"))
      
    • 注意:您必须添加以下导入:

      从 selenium.webdriver.support.ui 导入 WebDriverWait 从 selenium.webdriver.common.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
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 2020-10-29
    • 1970-01-01
    相关资源
    最近更新 更多