营销型网站开发 语言选择,新建wordpress无法发布,网站域名申请了该怎么做,做搜狗手机网站排元素定位 xpath绝对路径相对路径案例xpath策略#xff08;路径#xff09;案例xpath策略#xff08;层级、扩展#xff09;属性层级与属性层级与属性拓展层级与属性综合 csscss选择器#xff08;id、类、标签、属性#xff09;id选择器类选择器标签选择器属性选择器案例-… 元素定位 xpath绝对路径相对路径案例xpath策略路径案例xpath策略层级、扩展属性层级与属性层级与属性拓展层级与属性综合 csscss选择器id、类、标签、属性id选择器类选择器标签选择器属性选择器案例--CSS练习 层级选择器cssfind_element 元素定位总结 xpath
绝对路径 绝对路径从根⽬录开始逐级查找标签。 相对路径
相对路径从任意层级开始查找标签。 案例xpath策略路径 需求打开注册A.html页面完成以下操作 1).使用绝对路径定位用户名输入框并输入admin 2).暂停2s 3).使用相对路径定位用户名输入框并输入123 方法driver.find_element(byBy.XPATH, value表达式) from time import sleepfrom selenium import webdriver
from selenium.webdriver.common.by import By# 1、获取浏览器
driver webdriver.Chrome()
# 2、打开url
driver.get(file:///D:/Chrome/%E6%B3%A8%E5%86%8CA.html)
# 3、查找操作元素# 绝对路径
el driver.find_element(byBy.XPATH, value/html/body/form/div/fieldset/center/p[1]/input)
el.send_keys(admin)
sleep(2)
# 清除内容
el.clear()
# 相对路径
driver.find_element(byBy.XPATH, value//p[1]/input).send_keys(123)# 4、关闭浏览器
sleep(3)
driver.quit()
案例xpath策略层级、扩展 from time import sleepfrom selenium import webdriver
from selenium.webdriver.common.by import By# 1、获取浏览器
driver webdriver.Chrome()
# 2、打开url
driver.get(file:///D:/Chrome/%E6%B3%A8%E5%86%8CA.html)
# 3、查找操作元素# 单属性
driver.find_element(byBy.XPATH, value//input[placeholder账号A]).send_keys(admin)
# 多属性
# driver.find_element(byBy.XPATH, value//input[placeholder账号A and iduserA]).send_keys(admin)# 4、关闭浏览器
sleep(3)
driver.quit()
属性
单属性 //*[属性名属性值]多属性 //*[属性名属性值 and 属性名属性值]提示可以使⽤任何属性。
层级与属性
说明 如果元素现有的属性不能唯⼀匹配需要结合层级使⽤语法//⽗标签/⼦标签 必须为直属⼦级//⽗标签[属性值]//后代标签 ⽗和后代之间可以跨越元素
层级与属性拓展
根据显示⽂本定位 //*[text()⽂本值]属性值模糊匹配 //*[contains(属性名,属性部分值)]
层级与属性综合 from time import sleepfrom selenium import webdriver
from selenium.webdriver.common.by import By# 1、获取浏览器
driver webdriver.Chrome()
# 2、打开url
driver.get(https://demo6.tp-shop.cn/)
# 3、查找操作元素
# 点击登录链接 文本
driver.find_element(byBy.XPATH, value//*[text()登录]).click()
# 输入用户名 属性
driver.find_element(byBy.XPATH, value//*[placeholder手机号/邮箱]).send_keys(13600001111)
# 密码 包含
driver.find_element(byBy.XPATH, value//*[contains(placeholder,密)]).send_keys(123456)
# 验证码 多属性
driver.find_element(byBy.XPATH, value//*[placeholder验证码 and nameverify_code]).send_keys(8888)
# 登录按钮 层级
driver.find_element(byBy.XPATH, value//*[classlogin_bnt]/a).click()# 4、关闭浏览器
sleep(10)
driver.quit()
css
css选择器id、类、标签、属性
id选择器 语法 #id属性值 前置 标签必须id属性 类选择器 语法 .class属性值 前置 标签必须class属性 标签选择器 语法 标签名 提示 注意标签是否在⻚⾯中唯⼀否则返回单个或所有 属性选择器 语法: [属性名‘属性值’] 说明 标签任意属性都可以 案例–CSS练习 需求打开注册A.html页面完成以下操作 1).使用CSS定位方式中id选择器定位用户名输入框并输入admin 2).使用CSS定位方式中属性选择器定位密码输入框并输入123456 3).使用CSS定位方式中class选择器定位电话号码输入框并输入18600000000 4).使用CSS定位方式中元素选择器定位注册按钮并点击 from time import sleepfrom selenium import webdriver
from selenium.webdriver.common.by import By# 1、获取浏览器
driver webdriver.Chrome()
# 2、打开url
driver.get(file:///D:/Chrome/%E6%B3%A8%E5%86%8CA.html)
# 3、查找操作元素# 用户名 id选择-#id属性值
driver.find_element(byBy.CSS_SELECTOR, value#userA).send_keys(admin)
# 密码 属性选择器-[属性名属性值]
driver.find_element(byBy.CSS_SELECTOR, value[namepasswordA]).send_keys(123456)
# 电话 类选择器-.class属性值
driver.find_element(byBy.CSS_SELECTOR, value.telA).send_keys(18600000000)
# 确定 标签选择器-标签名
sleep(2)
driver.find_element(byBy.CSS_SELECTOR, valuebutton).click()# 4、关闭浏览器
sleep(3)
driver.quit()层级选择器css
⽗⼦关系 选择器选择器 如 #p1input后代关系 选择器 选择器 如 #p1 input提示 选择器使⽤任何⼀种css选择器id选择器、类选择器、属性选择器、标签选择器都可以
from time import sleepfrom selenium import webdriver
from selenium.webdriver.common.by import By# 1、获取浏览器
driver webdriver.Chrome()
# 2、打开url
driver.get(file:///D:/Chrome/%E6%B3%A8%E5%86%8CA.html)
# 3、查找操作元素# driver.find_element_by_css_selector([placeholder*账]).send_keys(admin)driver.find_element(byBy.CSS_SELECTOR, value#p1input).send_keys(admin)# 4、关闭浏览器
sleep(3)
driver.quit()find_element 说明 ⼋种元素定位⽅法底层使⽤的查找元素⽅法都是find_element,通过By不同的值区分定位⽅式 学习此⽅法⽬的 后期为了查找元素⽅法的封装 from time import sleepfrom selenium import webdriver# 1、获取浏览器
from selenium.webdriver.common.by import Bydriver webdriver.Chrome()
# 2、打开url
driver.get(file:///D:/Chrome/%E6%B3%A8%E5%86%8CA.html)
# 3、查找操作元素
目标讲解find_element使用场景后期项目封装中使用元素查找方法目的对后期封装元素查找方法driver.find_element(By.ID,userA).send_keys(admin)
driver.find_element(By.NAME,passwordA).send_keys(123456)
driver.find_element(By.CLASS_NAME,telA).send_keys(18600000000)
sleep(2)
driver.find_element(By.TAG_NAME,button).click()# 4、关闭浏览器
sleep(3)
driver.quit()
元素定位总结