Python:Selenium元素定位的实现(8种)

当我们想让 Selenium 自动地操作浏览器时,就必须告诉 Selenium 如何去定位某个元素或一组元素,每个元素都有着不同的标签名和属性值,Selenium 提供了以下8种定位元素的方式,每种方式对应了2个方法:

find_element_by_( ),是用来定位单个元素的,find_elements_by_( ),是用来定位多个元素的。

通过 id 定位

通过 name 定位

通过 class 定位

通过 tag 定位

通过 link 定位

通过 partial link 定位

通过 xpath 定位

通过 css 选择器定位

下面以百度首页为例进行举例说明:

扫描二维码关注公众号,回复: 6045305 查看本文章

1.通过 id 定位

find_element_by_id(id)

find_elements_by_id(id)

2.通过通过 name 定位

find_element_by_name(name)

find_elements_by_name(name)

3.通过 class 定位

find_element_by_class_name(name)

find_elements_by_class_name(name)

4.通过 tag 定位

find_element_by_tag_name(name)

find_elements_by_tag_name(name)

5.通过 link 定位

find_element_by_link_text(link_text)

find_elements_by_link_text(link_text)

6.通过 partial link 定位

find_element_by_partial_link_text(link_text)

find_elements_by_partial_link_text(link_text)

7.通过 xpath 定位

find_element_by_xpath(xpath)

find_elements_by_xpath(xpath)

8.通过 css 选择器定位

find_element_by_css_selector(css_selector)

find_elements_by_css_selector(css_selector)

通用的终极定位语法

上面的所有元素定位 find_element_by_xxx和find_elements_by_xxx调用的结果,实际上都是在调用以下两种方法,我们也可以直接调用一下两种方法即可。

find_element(self, by=By.ID, value=None):

find_elements(self, by=By.ID, value=None):

例如:

这里只是简单介绍了8种元素定位方式的使用,比较简单易用的是通过id、name、class定位,我个人比较喜欢的是用xpath定位,当然,最灵活也是最强大的定位方式就是css,它也是比较难掌握的一种方式。

猜你喜欢

转载自blog.csdn.net/qq_40925239/article/details/89639390
今日推荐