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_ipt
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_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还是用的比较少的。

我们根据实际情况,具体问题具体分析

posted @   君庭  阅读(13)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示