selenium - find_element_by_tag_name 和 find_elements_by_tag_name 有什么区别?

标签 selenium selenium-webdriver

单数函数和复数函数有什么区别?

find_element_by_name
find_elements_by_name

find_element_by_tag_name
find_elements_by_tag_name

最佳答案

我对 python 和 selenium 不是很熟悉,但大多数 DOM 函数的行为方式相同。

find_element_by_name 应返回名称属性与名称匹配的元素(找到的第一个实例)

<input name="username" type="text" value="Enter Username" />

find_elements_by_name 将返回匹配元素的集合/数组

<input name="continue" type="submit" value="Login" />
<input name="continue" type="button" value="Clear" />

find_element_by_tag_name 将类似,仅返回具有匹配标签名称的元素的第一个实例。

find_element_by_tag_name("a") // return the first anchor

find_elements_by_tag_name 将再次返回匹配标签名称的集合/数组。

如果可以链接这些命令,或在存储的元素上调用它们,则 get_element(s)_* 函数的结果将与调用它的节点相关。

<html>
  <body>
    <div>
       <a href="#1">Example 1</a>
       <a href="#2">Example 2</a>
    </div>
    <span>
       <a href="#3">Example 3</a>
       <a href="#4">Example 4</a>
    </span>
  </body>
</html>

例子

find_element_by_tag_name("a") == 示例 1

find_element_by_tag_name("span").find_element_by_tag_name("a") == 示例 3

迭代集合/数组

links = browser.find_elements_by_tag_name("a")

for link in links
 # link should be a Selenium WebElement?

如果有疑问,您可以转储整个结果以查看其中的内容。

Debugging python object/properties

关于selenium - find_element_by_tag_name 和 find_elements_by_tag_name 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14090369/

相关文章:

java - 如何使用 java(selenium 网络驱动程序)从下拉列表中选择值

python - sys.exit() 不是终止进程

scala - Docker 上的 Selenium : Testing a Docker Image within the same `docker-compose` file

java - 如何在 Selenium Java 客户端 v3.11.0 中删除超时和轮询的弃用警告

python - svg 的 xpath,无法根据路径属性定位

c# - 错误 : There is already an option for the mobileEmulation capability. 请改用它。参数名称:capabilityName

vba - 使用 Selenium Basic (VBA) 循环访问一组页面

python - Selenium - 解析页面花费太长时间

Selenium firefox 驱动力 https

python - 每次我提交时,Web UI 中的 Selenium 类都会被调用