(一)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定位"')
案例:
浙公网安备 33010602011771号