1、通过ID进行元素定位定位搜索框
el = driver.find element(By.ID,'search-input').send_keys("苹果")

2、通过name来定位搜索框
el = driver.find_element(By.NAME,'wd').send_keys("苹果")

3、通过class定位搜索按钮

el = driver.find_element(By.CLASS NAME, 'am-icon-search').click()

4、通过tagname来定位搜索框
el = driver.find_element(By.TAG_NAME, 'input').send_keys("苹果")

5、通过LINK_TEXT定位超链接
el = driver.find_element(By.LINK_TEXT,'手机通讯').click()

6、通过 PARTIAL LINK_TEXT来模糊定位超链接
el = driver.find_element(By.PARTIAL_LINK_TEXT,'通讯').click()

 

7、通过 XPATH定位:注意使用find_elements()与find_element(),find_elements()使用频率也挺高

 

 

(1)单元素 单属性定位   

   el = driver.find_element(By.XPATH, '//*[@id="search-input"]').send_keys("苹果")

【引号必须嵌套使用,外面和表达式里面的引号必须不一样】

   //*  :任意节点                      //*[@id=""]   :通过元素的id属性定位

(2)单元素 多属性定位

【有时候单元素定位通过 单属性定位可能不准,那么就可以通过多属性定位提高准确率】

   el = driver.find_element(By.XPATH, '//*[@id="search-input" and @name="wd"]').send_keys("苹果")

(3)通过属性值模糊匹配定位

   el = driver.find_element(By.XPATH, '//*[starts-with(placeholder,"其实")]').send_keys("苹果”)  #该属性以“其实”开头

   or

   el = driver.find_element(By.XPATH, '//*[contains(placeholder,"简单")]').send_keys("苹果”)  #该属性包含“简单”开头

(4)通过文本定位元素 

   el = driver.find_element(By.XPATH,"//*[text()='登录']").click(

 

8、通过CSS定位

补充:在浏览器中按F12,打开开发者工具,在element栏页,鼠标放在元素上按Ctrl+F键盘,页面下方会出现一个XPATH校验的输入框,

在该输入框输入你的元素定位语句,可以查看能定位到几个元素 

 

9、实战操作 

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By

#初始化浏览器
driver = webdriver.Chrome()
sleep(2)
#最大化浏览器
driver.maximize_window()
#打开url
driver.get('http://116.63.181.151')
sleep(2)
#获取登录链接
driver.find_element(By.LINK_TEXT, '登录').click()
sleep(3)
#输入账号
driver.find_element(By.XPATH, "//input[@name='accounts']").send_keys('ceshi')
#输入密码
driver.find_element(By.XPATH, "//input[@name='pwd']").send_keys('123456')
sleep(3)
#点击登录
driver.find_element(By.XPATH, "//button[@type='submit']").click()
sleep(5)
posted on 2024-04-27 12:47  WXHNWLJ  阅读(93)  评论(0)    收藏  举报