赞
踩
前面写了定位方法基本上都是单个定位方法,如果我们想要定位页面上的多个相同的元素呢?这样我们应该怎么定位?selenium这么强大,提供了有find_elements方法来帮助我们定位多个相同的元素
find_elements属于selenium中复数的定位元素内容。find_elements主要定位定位页面上多个相同的元素坐标。
源码:(这里我们简单的拿一个进行查看)
def find_elements_by_xpath(self, xpath):
"""
Finds multiple elements by xpath.
:Args:
- xpath - The xpath locator of the elements to be found.
:Returns:
- list of WebElement - a list with elements if any was found. An
empty list if not
:Usage:
elements = driver.find_elements_by_xpath("//div[contains(@class, 'foo')]")
"""
return self.find_elements(by=By.XPATH, value=xpath)
可以发现定位方法和find_element其实一样的,只不过多了一个s相当于定位多组
这里安静来拿百度的搜索结果来使用find_elements
先在百度搜索测试-安静
找到多个元素,class="result c-container ",我们通过复数进行定位,然后获取全部的文本内容
通过一个简单的例子,认识find_elements复数定位。具体的一些实例方法,我们后续一点点的涉及。
安静写的文章如果对您有帮助,点个关注,持续更新。不懂的或者写错的地方,可以下方留言。也可以关注安静的个人工作号:【跟着安静学测试】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。