selunium各种定位的方法

selunium特点

1. 开源软件

2. 跨平台

3. 支持多种浏览器

webdriver浏览器驱动

元素定位 

# 导包
from selenium import webdriver
import time
 
from selenium.webdriver.common.by import By
 
# 创建浏览器驱动对象
driver = webdriver.Chrome()
 
# 打开网站
driver.get("网址")
driver.find_element_by_id("u1493_input").send_keys("xuxu3") # id定位
driver.find_element_by_name("name2").send_keys("qaz,./123")  # name位driver.find_element(by=By.LINK_TEXT, value="点击我打开百度").click()  # link_text定位
driver.find_element(by=By.PARTIAL_LINK_TEXT, value="百度").click()  # partial_link_text定位
 
#定位一组元素(elements)
elements = driver.find_elements_by_tag_name("input")
elements[1].send_keys("123") # 第一个标签为tag_name的输入123
 
time.sleep(3)
# 退出网页
driver.quit()

 

xpath定位

from selenium import webdriver
import time
 
# 浏览器驱动对象
driver = webdriver.Chrome()
 
# 打开网址
driver.get('http://127.0.0.1:8848/%E4%BB%A3%E7%A0%81/%E4%BB%A3%E7%A0%811/practice.html')
 
#路径定位
driver.find_element_by_xpath("/html/body/form/input[2]").send_keys("admin") 
 
# 属性定位
driver.find_element_by_xpath("//*[@placeholder='请输入用户名']").send_keys("admin") 
 
# 属性与逻辑定位
driver.find_element_by_xpath("//p[@id='pa']/input").send_keys("admin")
 
# 属性与层级定位
driver.find_element_by_xpath("//input[@id='pass' and @name='word']").send_keys("admin")
 
# 全部文本定位
driver.find_element_by_xpath("//*[text()='白白']").send_keys("admin")
 
# value局部文本
driver.find_element_by_xpath("//*[contains(@placeholder,'请输入')] ).send_keys("admin")
 
# 局部开始的文本(如果为“请输入用户名”,则“用户名”不可为value)
driver.find_element_by_xpath("//*[starts-with(@placehoder,'请输入')] ).send_keys("admin")
 
# 等待3s
time.sleep(3)
driver.quit()

 XPATH定位可在网页按F12进行XPATH复制

 

 

posted @ 2023-04-14 10:58  Solo李  阅读(29)  评论(0编辑  收藏  举报