元素定位

今天先总结下selenium对元素的定位方法

一.网页定位

网页定位即根据具体网页元素定位出我们所需要的元素

可根据class,id,tag等元素进行定位

find_element(self,by='id',value=None)

find_element_by_class_name(self,name)

find_element_by_css_selctor(self,css_selector)

find_element_by_id(self,id_)

find_element_by_link(self,link_text)

find_element_by_name(self,name)

find_element_by_partial_link_text(self,link_text)

find_element_by_tag_name(self,name)

find_element_by_xpath(self,xpath)

这里应注意的是element,没加s,意思就是它返回的是你找到的元素的第0个

如果你写的elements,如find_elements_by_id(self,id),则它返回的是一个元素的列表,如果你想用某个元素的属性或方法,则应该给个具体的下标

二.内容定位

内容定位即获取我们得到的elelment的一些内容,如text,href,title等。

最常见的方法是直接.text,但这个方法只能获取两个标签的内容

如果你想获取的是它的属性信息,或者遇到一个单标签,那这个方法就行不通了

如下面的百度首页

如果你想获取“百度一下”这四个字,你就要进入标签的属性里去

这是要运行这个代码

text=browser.find_element_by_id('su')

print(text.get_attribute('value'))

这里的get_attribute(value),从字面意思就可以知道,得到属性的内容

如果属性里面又有其子元素,如value={title='123',url='456'}(这里只是举例)

那么上面代码里的text还包含了一些内容,想要得到具体的内容,还需用get()

s=eval(text)

title=s.get('title')

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容