【问题标题】:Python Selenium select element a few questionsPython Selenium 选择元素几个问题
【发布时间】:2021-07-21 07:13:28
【问题描述】:

我有两个问题。

  1. 我正在尝试获取文本值(Medium Coverage,Liquid Formula)但没有定位器。这些文本值与页面不同,但位置相同。有什么办法可以得到这样的文字
find_element_by_class('css_s6sd4y.eanm7710') -> go down to one more row then select the element

  1. 有一个类名。但我想知道是否有另一种方法可以使用 data-at = 'sku_size_label' 找到元素。什么是“data-at”定位器?

【问题讨论】:

    标签: python selenium element


    【解决方案1】:

    对于第一个问题,您可以使用以下代码:

    获得中等覆盖率:

    wait = WebDriverWait(driver, 10)
    ele = wait.until(EC.visibility_of_element_located((By.XPATH, "//img[@alt='Medium Coverage']/.."))).text
    print(ele)
    

    wait = WebDriverWait(driver, 10)
    ele = wait.until(EC.visibility_of_element_located((By.XPATH, "//img[@alt='Medium Coverage']/.."))).get_attribute('innerHTML')
    print(ele)
    

    获取液体配方:

    wait = WebDriverWait(driver, 10)
    ele = wait.until(EC.visibility_of_element_located((By.XPATH, "//img[@alt='Liquid Formula']/.."))).text
    print(ele)
    

     wait = WebDriverWait(driver, 10)
     ele = wait.until(EC.visibility_of_element_located((By.XPATH, "//img[@alt='Liquid Formula']/.."))).get_attribute('innerHTML')
     print(ele)
    

    关于你的第二个问题:-

    是的,您可以在 xpath 或 css 中使用 data-at = 'sku_size_label'

    Xpath 下面:

    //span[contains(@data-at, 'sku_size_label')]
    

    CSS 如下:

    span[data-at = 'sku_size_label']
    

    对于这个问题:

    什么是'data-at' locator called? - 它们不称为定位器,它们基本上是相应标签的属性。

    进口:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

    【讨论】:

    • 对于第一个问题,有没有办法使用以下逻辑来实现相同的目标? find_element_by_class('css_s6sd4y.eanm7710') -> go down to one more row then select the element 因为我需要获取多个网页中的文本信息。即使格式相同,文本也不同。
    • 你可以试试find_element_by_css_selector("css_s6sd4y.eanm7710"), you cannot combine class name with .`,它必须是css
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 2012-08-08
    • 2018-08-14
    • 2021-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多