上图是一个百度搜索页面的前端页面元素
通过网页的F12(开发者调试工具),可以看到页面上的元素都是由一行一行的代码组成。它们之间有层级的组织起来,每个元素有不同的标签名和属性值。
其中input是标签名
type、class、name、id是属性名
那么在Selenium 当中就是通过这信息来找到不同的元素的。
webdriver 提供了八种元素定位方法:
id
name
class name
tag name
link text
partial link text
xpath
css selector
在Python 语言中对应的定位方法如下:
find_element_by_id()
find_element_by_name()
find_element_by_class_name()
find_element_by_tag_name()
find_element_by_link_text()
find_element_by_partial_link_text()
find_element_by_xpath()
find_element_by_css_selector()
其中id、name、class_name只要确定值是页面中唯一的就可以直接使用
比如定位百度搜索输入框:
find_element_by_id(“kw”)
find_lement_by_name(“wd”)
find_element_by_class_name(“s_ipt”)
这三种方法都可以定位成功