dcsxlh

导航

 

(一)selenium定位方法:

 

(二)selenium 使用规则:

Python+Selenium 实现UI自动化元素定位总结
在这9种常用的定位方法中,优先顺序
1)有id优先使用id定位
2)没有id,考虑使用name或者class定位。
3)如果没有id,name,class再考虑用xpath,css定位。
4)如果是链接可以考虑使用link_text,partial_link_text 定位。
5)tag_name和JavaScript还是用的比较少的,我们根据实际情况,具体问题具体分析

(三)定位方法的详解

网站:https://www.baidu.com/

定位元素:右键==开发者工具 或

 

 

(1)id定位

id="kw"

 

from  selenium import  webdriver  #导入selenim 这个模块中的webdriver
import time
dx=webdriver.Chrome() #创建谷歌对象
dx.get("https://www.baidu.com/") #通过对象.get 打开网站
time.sleep(2)
dx.find_element_by_id("kw").send_keys("id定位")

2、name定位
from  selenium import  webdriver  #导入selenim 这个模块中的webdriver
import time
dx=webdriver.Chrome() #创建谷歌对象
dx.get("https://www.baidu.com/") #通过对象.get 打开网站
time.sleep(2)
dx.find_element_by_name("wd").send_keys("name定位")
3、class 定位
from  selenium import  webdriver  #导入selenim 这个模块中的webdriver
import time
dx=webdriver.Chrome() #创建谷歌对象
dx.get("https://www.baidu.com/") #通过对象.get 打开网站
time.sleep(2)
dx.find_element_by_class_name("s_ipt").send_keys("class定位")

4、xpath定位
from  selenium import  webdriver  #导入selenim 这个模块中的webdriver
import time
dx=webdriver.Chrome() #创建谷歌对象
dx.get("https://www.baidu.com/") #通过对象.get 打开网站
time.sleep(2)
dx.find_element_by_xpath('//*[@id="kw"]').send_keys("xpath定位")

5、css定位
from  selenium import  webdriver  #导入selenim 这个模块中的webdriver
import time
dx=webdriver.Chrome() #创建谷歌对象
dx.get("https://www.baidu.com/") #通过对象.get 打开网站
time.sleep(2)
dx.find_element_by_css_selector('#kw').send_keys("css定位")
6、link_txet a 标签定位
from  selenium import  webdriver  #导入selenim 这个模块中的webdriver
import time
dx=webdriver.Chrome() #创建谷歌对象
dx.get("https://www.baidu.com/") #通过对象.get 打开网站
time.sleep(2)
dx.find_element_by_link_text("hao123").click()
7、
partial_link_text 模糊标签定位
from  selenium import  webdriver  #导入selenim 这个模块中的webdriver
import time
dx=webdriver.Chrome() #创建谷歌对象
dx.get("https://www.baidu.com/") #通过对象.get 打开网站
time.sleep(2)
dx.find_element_by_partial_link_text("123").click()

8、find_elements_by_tag_name

from selenium import webdriver #导入selenim 这个模块中的webdriver
import time
dx=webdriver.Chrome() #创建谷歌对象
dx.get("https://www.baidu.com/") #通过对象.get 打开网站
time.sleep(2)
inputs=dx.find_elements_by_tag_name("input")
for i in inputs:
if i.get_attribute('name')=="wd":
i.send_keys("tagname定位方法")

 

9、js定位方法
driver.execute_script('document.getElementById("id值")
from  selenium import  webdriver  #导入selenim 这个模块中的webdriver
import time
dx=webdriver.Chrome() #创建谷歌对象
dx.get("https://www.baidu.com/") #通过对象.get 打开网站
time.sleep(2)
dx.execute_script('document.getElementById("kw").value="js定位"')

案例:

posted on 2025-05-21 11:49  多测师_肖sir  阅读(98)  评论(0)    收藏  举报