栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

除了指定类而不是ID之外,如何使用EC.presence_of_element_located((By.ID,“ myDynamicElement”))

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

除了指定类而不是ID之外,如何使用EC.presence_of_element_located((By.ID,“ myDynamicElement”))

相关的HTML可以帮助我们构建更规范的答案。但是从第一行代码开始:

element = WebDriverWait(driver,100).until(EC.presence_of_element_located((By.ID, "tabla_evolucion")))

在第二行代码中几乎是合法的:

element = WebDriverWait(driver,100).until(EC.presence_of_element_located((By.class, "ng-binding ng-scope")))

将引发错误,如下所示:

消息:无效的选择器:不允许使用复合类名

因为您无法通过传递多个类

By.class

您可以在无效的选择器中找到详细的讨论:不允许将find_element_by_class_name与Webdriver和Python一起使用的复合类名称


您需要注意以下几点:

  • 没有任何知名度,你的用例,在功能上诱导 WebDriverWait 与关联 EC 作为
    presence_of_element_located()
    只不过证实了该元素的中存在DOM树。想必向前迈进要么你需要得到的属性如
    value
    innerText
    等,还是会与要素互动。因此,
    presence_of_element_located()
    您无需使用
    visibility_of_element_located()
    element_to_be_clickable()

您可以在WebDriverWait中找到详细的讨论,无法正常进行

  • 为了获得最佳结果,您可以将

    ID
    CLASS
    属性组合在一起,并可以使用以下定位策略之一:

    • 使用

      CSS_SELECTOR

          element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".ng-binding.ng-scope#tabla_evolucion")))
    • 使用

      XPATH

          element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//*[@ and @id='tabla_evolucion']")))


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/402109.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号