selenium元素定位有八种元素
一. 以下8种方式是定位一个元素的
temp = driver.find_element_by_class_name()#类选择器
temp = driver.find_element_by_id()#id选择器
temp = driver.find_element_by_link_text()#超链接选择器
temp = driver.find_element_by_partial_link_text()#超链接选择器(类似于模糊查询)
temp = driver.find_element_by_name()#name属性选择器
temp = driver.find_element_by_tag_name()#标签选择器
temp = driver.find_element_by_css_selector()#样式选择器
temp = driver.find_element_by_xpath()#路径选择器
1.类选择器
2.Id选择器
1. from selenium import webdriver
2. # 打开浏览器
3. driver = webdriver.Chrome()
4. driver.get("https://www.baidu.com")
5.
6. baidu_input = driver.find_element_by_class_name('s_ipt')#类选择器
7. baidu_input.clear()
8. baidu_input.send_keys('hello Word')
9. # 找到“百度一下”按钮,点击
10. baidu_button = driver.find_element_by_id('su')#id选择器
11. baidu_button.click()
3.超链接选择器
from selenium import webdriver
# 打开浏览器
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
link = driver.find_element_by_link_text('视频') #超链接定位
# link = driver.find_element_by_partial_link_text('闻') #类似于模糊查询
link.click()
4.超链接选择器(类似于模糊查询)
from selenium import webdriver
# 打开浏览器
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
# link = driver.find_element_by_link_text('视频') #超链接定位
link = driver.find_element_by_partial_link_text('闻') #类似于模糊查询
link.click()
5.name属性选择器
from selenium import webdriver
# 打开浏览器
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
link = driver.find_element_by_name('tj_trvideo')#names属性选择器
# link = driver.find_element_by_link_text('视频') #超链接定位
# link = driver.find_element_by_partial_link_text('闻') #类似于模糊查询
link.click()
6.标签选择器
from selenium import webdriver
# 打开浏览器
driver = webdriver.Chrome()
driver.get('http://127.0.0.1:8020/web01/Demo1.html?__hbt=1565790089093')
#标签选择器
temp = driver.find_element_by_tag_name('a')
temp.click()
driver.close()
7. 样式选择器
from selenium import webdriver
#微博搜索
driver = webdriver.Chrome()
driver.get("https://s.weibo.com/")
weibo_input = driver.find_element_by_css_selector('input[node-type="text"]')
weibo_input.clear()
weibo_input.send_keys("台风")
# ss = driver.find_element_by_css_selector('button[node-type="submit"]')
ss = driver.find_element_by_tag_name('button')#只能传标签名,当页面标签唯一的时候可以使用
ss.click()
# div.card-wrap:nth-child(1)>div.card>div.card-feed>div.content>div.info>div>a.name
news_frist = driver.find_element_by_css_selector('div.card-wrap:nth-child(1)>div.card>div.card-feed>div.content>div.info>div>a.name')
# news_frist.click()
print(news_frist.text)
8. 路径选择器
from selenium import webdriver
# 打开浏览器
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
baidu_input = driver.find_element_by_xpath('//input[@name="wd"]')#xpath定位
baidu_input.clear()
baidu_input.send_keys('香港')
driver.find_element_by_xpath('//input[@id="su"]').click()#xpath定位
二. 定位多个元素(返回定位到的多个元素,返回值类型为list)
list = driver.find_elements_(你的定位方式)(css)