selenium定位方法
Selenium提供了8种定位方式。
id
name
class name
tag name
link text
partial link text
xpath
css selector
这8种定位方式在Python selenium中所对应的方法为:
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()
假如我们有一个Web页面,元素的定位方法如下:
通过ID定位:
driver.find_element_by_id(“kw”)
通过name定位:
driver.find_element_by_name(“wd”)
通过class name定位:
driver.find_element_by_class_name(“s_ipt”)
通过tag name定位:
driver.find_element_by_class_name(“input”)
通过xpath定位,xpath定位有N种写法:
driver.find_element_by_xpath("//[@id=‘kw’]")
driver.find_element_by_xpath("//[@name=‘wd’])
driver.find_element_by_xpath("//input[@class=‘s_ipt’])
driver.find_element_by_xpath("/html/body/form/span/input")
driver.find_element_by_xpath("//span[@class=‘soutu-btn’]/input")
driver.find_element_by_xpath("//form[@id=‘form’]/span/input")
driver.find_element_by_xpath("//input[@id=‘kw’ and @name=‘wd’]")
通过css定位,css定位有N种写法:
driver.find_element_by_css_selector("#kw")
driver.find_element_by_css_selector("[name=wd]")
driver.find_element_by_css_selector(".s_ipt")
driver.find_element_by_xpath(“html>body>form>span>input”)
driver.find_element_by_xpath(“span.soutu-btn>input#kw”)
driver.find_element_by_xpath(“form.form>span>input”)
通过 link text定位:
如:
driver.find_element_by_link_text("新闻“)
driver.find_element_by_link_text(“hao123”)
通过partial link text定位:
driver.find_element_by_partial_link_text(“新”)
driver.find_element_by_partial_link_text(“123”)