【问题标题】:How to check id an element is present within another webelement like a <div> in selenium?如何检查 id 元素是否存在于另一个 webelement 中,例如 selenium 中的 <div>?
【发布时间】:2023-01-11 14:58:01
【问题描述】:

我需要查看具有特定类名的 div 中是否有图像。我在用。

picUrl=[]
        eachDiv =self.find_elements(By.XPATH,"//div[@class='NiLAwe y6IFtc R7GTQ keNKEd j7vNaf nID9nc']")
        for index, individualDiv in enumerate(eachDiv):
           
            if(individualDiv.find_element(By.XPATH,"//img[@class='tvs3Id QwxBBf']").get_attribute('src')):
                picUrl.append(individualDiv.find_element(By.XPATH,"//img[@class='tvs3Id QwxBBf']").get_attribute('src'))
                print('present')
            else:
                picUrl.append(" no pic ")
                print('not')
        return picUrl

但是即使 div 没有带有该类名的标签,该条件也永远不会进入 else 条件。

【问题讨论】:

    标签: python selenium selenium-webdriver


    【解决方案1】:

    这将取决于您的 if 语句中该表达式的结果是什么:

    if(individualDiv.find_element(By.XPATH,"//img[@class='tvs3IdQwxBBf']").get_attribute('src')):
    

    在 python 中,例如 if([]) 是 False 但 if([[]]) 是 True ......我想你需要让这个表达式更明确一点。你可以尝试类似的东西

    if len(individualDiv.find_elements(By.XPATH,"//img[@class='tvs3IdQwxBBf']")) > 0:
    

    或者您可以将 find_by_xpath 与 tryexcept 块一起用作 statet in this SO post,这非常优雅。

    【讨论】:

      猜你喜欢
      • 2019-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-29
      相关资源
      最近更新 更多