day:25 selenium——定位方法
一.selenium中的定位9种方法
二.详解定位方法
1、通过f12 或者开发者工具点开页面元素
案例:
网址:https://www.baidu.com
(2)查看属性值
2、定位方法
1.id定位方法
id=kw
from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("https://www.baidu.com") #通过get打开页面
time.sleep(2)
dx.maximize_window()
dx.find_element_by_id("kw").send_keys("id定位")
2.name定位方法
from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("https://www.baidu.com") #通过get打开页面
time.sleep(2)
dx.maximize_window()
dx.find_element_by_name("wd").send_keys("name定位")
3.class定位方法
class=s_iptfrom selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("https://www.baidu.com") #通过get打开页面
time.sleep(2)
dx.maximize_window()
dx.find_element_by_class_name("s_ipt").send_keys("class定位")
4、link定位方法

from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("https://www.baidu.com") #通过get打开页面
time.sleep(2)
dx.find_element_by_link_text("hao123").click()
5.partial_link_text() 模糊文本值
from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("https://www.baidu.com") #通过get打开页面
time.sleep(2)
dx.find_element_by_partial_link_text("hao").click()
6.xpath定位:
找到后--右键--复制--复制Xpath
路径定位://*[@id="kw"]
from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("https://www.baidu.com") #通过get打开页面
time.sleep(2)
dx.maximize_window()
dx.find_element_by_xpath('//*[@id="kw"]').send_keys("xpath定位")
7.css定位
右键--复制--复制selector

css 辅助#kw
from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("https://www.baidu.com") #通过get打开页面
time.sleep(2)
dx.maximize_window()
dx.find_element_by_css_selector("#kw").send_keys("css定位方法")
8. tag_name 方法:就是元素属性
8、通过input来定位

from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("https://www.baidu.com") #通过get打开页面
time.sleep(2)
dx.maximize_window()
inputs=dx.find_elements_by_tag_name("input") #找到标签input
for i in inputs:
if i.get_attribute("name")=="wd":
i.send_keys("tag_name定位方法")
9:js定位
复制js格式:document.querySelector("#kw")
from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("https://www.baidu.com") #通过get打开页面
time.sleep(2)
dx.maximize_window()
js='document.getElementById("kw").value="js定位"'
dx.execute_script(js)

10.定位方法运用:
在这9种常用的定位方法中,优先顺序
1)有id优先使用id定位
2)没有id,考虑使用name或者class定位。
3)如果没有id,name,class再考虑用xpath,css定位。
4)如果是链接可以考虑使用link_text,partial_link_text 定位。
5)tag_name和JavaScript还是用的比较少的。
我们根据实际情况,具体问题具体分析
浙公网安备 33010602011771号