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

如何确定是否为Selenium + Python加载了某些HTML元素?

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

如何确定是否为Selenium + Python加载了某些HTML元素?

根据你的代码试验使用的是 ChromeDriverChrome的浏览器 ,以 自动化
的步骤。配置完后,由于在通过配置的时间段内页面未完全加载,因此引发

set_page_load_timeout(10)
超时
异常
set_page_load_timeout()
。但是,当您调用
print(self.page_source)
了部分呈现的HTMLDOM 中呈现的元素时,将对其进行检索。

现在关于您的单个查询:

  • How can I make sure some elements are already loaded?
    :理想的 测试用例 将具有确定的步骤,例如,验证元素的存在,验证元素的可见性或验证元素的交互性(单击时)。从这个角度来看,验证 已经加载元素 可能不包含所需的元素。因此,您需要将 搜索标准 范围缩小到某些确定的 范围, 而不是使用如此 广泛搜索条件 ,例如

    • 页面标题
    • 页面标题
    • 警报的存在
    • 元素的属性
    • 元素的存在
    • 一组元素的存在
    • 元素的可见性
    • 一组元素的可见性
    • 元素的可点击性
    • StalenessOf元素
    • frameToBeAvailableAndSwitchToIt

实现这些缩小 搜索条件 可以节省大量的_执行时间_的帮助下

WebDriverWait
与inconjunction
expected_conditions
]。

  • How can I make sure all elements are loaded?
    :同样,我们的测试应仅集中在我们需要与之交互的元素上,而忽略验证与我们无关的其他元素的状态/条件。

  • 现在,根据上述两点,这是3种最常用的用

    • presence_of_element_located
      :期望检查页面的DOM中是否存在元素。这并不一定意味着该元素是可见的。
    • visibility_of_element_located
      :期望检查元素是否存在于页面的DOM上并且可见。可见性意味着不仅显示元,而且其高度和宽度都大于0。
    • element_to_be_clickable
      :检查元素的期望是可见的并且已启用,因此您可以单击它。
    • 根据您提到的用 ,您可以使DOM树 中所有元素的 列表

      <th>
      可见,同时等待诱导 WebDriverWait 的可配置时间,如下所示:

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

    headerList = WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, “//table[@class=’fth1_’ and @id=’fth1_’]/thead/tr//th”)))

注意 :此插图中使用的 xpath 是仅用于演示目的的样本 xpath



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

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

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