selenium中,8種 find element 方法


1 -*- coding;utf-8 -*-
2 from selenium import webdriver
3 dr = webdriver.Chrome()
4 dr.get("https://www.baidu.com")
5 #有八種元素定位方法:
6 #id, name, class name, tag name, link text,部分link text, xpath, css選擇器

其中,find_elements_by_xxx 獲取的是一組元素

 

前7種:

 1 <span id="s_kw_wrap" class="s_ipt_wr"><span class="soutu-btn"></span>
 2     <span class="soutu-btn"></span>
 3     <input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off" value="123">
 4     <input></input>
 5 </span>
 6 <div id="u_sp" class="s-isindex-wrap s-sp-menu">
 7     <a href="http://news.baidu.com" target="_blank" class="mnav">超長的新聞名稱</a>
 8 </div>
 9 
10 #id
11 dr.find_element_by_id("kw")
12 #name
13 dr.find_element_by_name("wd")
14 #class name
15 dr.find_element_by_class_name("s_ipt")
16 #tag name (標簽名稱)
17 dr.find_element_by_tag_name("input") #適用於只有一個input標簽
18 dr.find_elements_by_tag_name("input")[0].send_keys() #適用於多個input標簽
19 dr.find_element_by_tag_name("//span/input[0]") #通過父級元素
20 
21 #text link, 部分text link
22 dr.find_elements_by_link_text("超長的新聞名稱")
23 dr.find_element_by_partial_link_text("新聞")
24 
25 
26 #xpath
27 dr.find_element_by_xpath("//input[@id='kw']") # 雙斜杠表示不確定
28 dr.find_element_by_xpath("/*[@id='kw']") # "*"表示所有元素
29 dr.find_element_by_xpath("//input[@name='wd']")
30 dr.find_element_by_xpath("//input[@class='s_ipt']")
31 dr.find_element_by_xpath("//input[@value='123']")
32 
33 dr.find_element_by_xpath("//span/input[0]")#通過父級
34 dr.find_element_by_xpath("//span[@class='bg s_ipt_wr']/input[0]")#通過父級
35 
36 也可用多種屬性集合
37 dr.find_element_by_xpath("//input[@id='kw' and @name='wd']")

 

CSS選擇器:

 1 <span id="s_kw_wrap" class="s_ipt_wr"><span class="soutu-btn"></span>
 2     <span class="soutu-btn"></span>
 3     <input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off" value="123">
 4 </span>
 5 
 6 #class 用“.”
 7 dr.find_element_by_css_selector(".s_ipt")
 8 
 9 #id 用“#”
10 dr.find_element_by_css_selector("#kw")
11 
12 #name
13 dr.find_element_by_css_selector("[name=wd]")
14 dr.find_element_by_css_selector("name='wd'")
15 dr.find_element_by_css_selector("//input[name='wd']")
16 
17 #組合
18 dr.find_element_by_css_selector("span>input.s_ipt") #通過父級
19 dr.find_element_by_css_selector("span>input#kw")
20 dr.find_element_by_css_selector("span.s_ipt_wr>input")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM