id、name、tag、class、css_selector、link_text、partial_link_text、xpath
id:find_element_by_id()
name:find_element_by_name()
tag:find_element_by_tag_name()
class:find_element_by_class_name()
css_selector:find_element_by_css_selector()
link_text:find_element_by_link_text()
partial_link_text:find_elements_by_partial_link_text()
XPath:find_element_by_xpath()
以百度为例子:编写元素
"""
import time
from seleniumimport webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
# 以百度网页为例
# 1、通过 id 查找
driver.find_element_by_id("kw")
# 2、通过 name 查找
driver.find_element_by_name("wd")
# 3、通过 tag 查找 - 找到的是当前页面中的第一个input标签
<name为ie的input标签>driver.find_element_by_name("ie")
driver.find_element_by_tag_name("input")
- - 等同如下 --
driver.find_elements_by_tag_name("input")[0]
# 4、通过 class 查找
driver.find_element_by_class_name("s_ipt")
# 5、通过 css选择器 查找
driver.find_element_by_css_selector("input#kw")
# 6、通过 link_text 定位 - 带超链接文本 - 精确匹配超链接文本
driver.find_element_by_link_text("国内") - <a href="">国内</a>
# 7、通过 partial_link_text 定位 - 带超链接文本 - 模糊匹配超链接文本
- 查找超链接标签中带有 "国" 的超链接标签文本 - 返回列表类型driver.find_elements_by_partial_link_text("国")
# 8、通过 XPath 定位
待续...
###
1、除了id定位元素,其他的定位<name、tag、class_name、css_selector、partial_link_text>都具有不唯一性,都可以通过find_elements_by_* [返回列表]
2、定位元素,返回的是webElement对象