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)
浙公网安备 33010602011771号