一、selenium八大元素定位
1.1、通过id
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
# 通过元素的id进行定位
driver.find_element_by_id("kw")
1.2、通过name
driver.find_element_by_name("wd")
1.3、通过class的名字class_name
driver.find_element_by_class_name("s_ipt")
1.4、通过标签属性tag
driver.find_element_by_tag_name("input")
1.5、通过link
有个元素 <a class="mnav" target="_blank" href="http://www.hao123.com">hao123</a>
driver.find_element_by_link_text("hao123")
1.6、通过partial_link
有时候一个超链接它的字符串可能比较长,如果输入全称的话,会显示很长,这时候可以用一模糊匹配方式,截取其中一部分字符串就可以了
driver.find_element_by_partial_link_text("ao123")
1.7、通过xpath
xpath是一种路径语言
find_element_by_xpath(“//input[@id='kw']”)
1.8、通过css
css是另外一种语法,比xpath更为简洁
find_element_by_css_selector()
二、定位一组元素
以下八种方法返回的为列表
1.通过id定位:find_elements_by_id()
2.通过name定位:find_elements_by_name()
3.通过class定位:find_elements_by_class_name()
4.通过tag定位:find_elements_by_tag_name()
5.通过link定位:find_elements_by_link_text()
6.通过partial_link定位:find_elements_by_partial_link_text()
7.通过xpath定位:find_elements_by_xpath()
8.通过css定位:find_elements_by_css_selector()
三、元素定位参数化
find_element(by, value)和find_elements(by, value)
查看源码其实定位find_element_by_xxx的方法都是返回的find_element方法
find_element和find_elements方法第一个参数为定位的方式,第二个参数为元素定位的表达式