【问题标题】:How to extract text from aria-label attribute?如何从 aria-label 属性中提取文本?
【发布时间】:2023-01-17 18:58:37
【问题描述】:

所以基本上我正在尝试进行网络抓取。我需要从 indeed 网站上删除工作生活平衡评级。但我面临的挑战是我不知道如何从 aria-label 中提取文本,所以我可以获得 4.0 的输出(满分 5 星)。

<div role="img" aria-label="4.0 out of 5 stars."><div class="css-eub7j6 eu4oa1w0"><div data-testid="filledStar" style="width:42.68px" class="css-i84nrz eu4oa1w0"></div></div></div>

【问题讨论】:

    标签: html css selenium web-scraping getattribute


    【解决方案1】:

    如果您可以找到该元素属性值,可以使用 selenium 和 get_attribute() 方法检索该元素属性值。
    假设您使用的是By.CSS_SELECTOR,而定位器是css_selector
    Python语法是:

    aria_label_value = driver.driver.find_element(By.CSS_SELECTOR, css_selector).get_attribute("aria-label")
    

    同样可以用其他编程语言完成同样的轻微语法更改

    【讨论】:

      【解决方案2】:

      您需要识别元素并使用 get 属性 aria-label 来获取值。

      如果您使用的是 python。代码将是

      print(diver.find_element(By.XPATH, "//div[@role='img']").get_attribute("aria-label"))
      

      更新:

      print(diver.find_element(By.XPATH, "//div[@role='img' and @aria-label]").get_attribute("aria-label"))
      

      【讨论】:

      • 给我错误。是的,我正在使用 python。 @昆杜克
      • @AnnieDhawan,抱歉打字错误。你现在可以试试吗?
      • 它现在没有给我一个错误,但它正在打印无,没有给我 5 颗星中的 4 颗星
      • @AnnieDhawan,尝试更新一个。提供了等待页面正确加载的功能。
      【解决方案3】:

      检索值aria-label属性即“4.0 颗星,最多 5 颗星。”您需要为 visibility_of_element_located() 引入 WebDriverWait,您可以使用以下任一 locator strategies

      • 使用CSS_SELECTORrole="img":

        print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div[role='img']"))).get_attribute("aria-label"))
        
      • 笔记:您必须添加以下导入:

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

      可以在Python Selenium - get href value找到相关讨论

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-12-04
        • 1970-01-01
        • 2015-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多