python+selenium自動化(六)之元素其他屬性定位


1、通過name屬性定位   find_element_by_name 

百度首頁舉例子

from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get(url="http://www.baidu.com")
driver.maximize_window()
driver.find_element_by_name("wd").send_keys("hello world")
time.sleep(3)
driver.quit()

2、通過class屬性定位   find_element_by_class_name

 

 

from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get(url="http://www.baidu.com")
driver.maximize_window()
# driver.find_element_by_name("wd").send_keys("hello world")
driver.find_element_by_class_name("s_ipt").send_keys("hello world")
time.sleep(3)
driver.quit()

3、通過標簽tag_name屬性定位   find_element_by_tag_name   (不建議用,因為頁面標簽很多)

 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <input type="text" id="test">
</body>
</html>
from selenium import webdriver
import time
driver = webdriver.Chrome()
# driver.get(url="http://www.baidu.com")
driver.get("file://D:/python+selenium/test/tag_name.html")   # html文件的絕對路徑
driver.maximize_window()
driver.find_element_by_tag_name("input").send_keys("hello world")
time.sleep(3)
driver.quit()

4、通過超鏈接文本定位   find_element_by_link_text

 

 

from selenium import webdriver
import time
driver = webdriver.Chrome()
# driver.get(url="http://www.baidu.com")
driver.get("file://D:/python+selenium/test/tag_name.html")   # html文件的絕對路徑
driver.maximize_window()
driver.find_element_by_link_text("百度一下").click()
time.sleep(3)
driver.quit()
<a href="http://www.baidu.com">百度一下</a>  可以看到這個元素a,超鏈接href="http://www.baidu.com",點擊百度一下這個文本,會自動跳轉到百度首頁,這個方法針對有超鏈接跳轉的文本

 5、通過超鏈接,文本模糊匹配定位   find_element_by_partial_link_text

 

 這個方法是,超鏈接的文本過長,通過部分文本模糊匹配

from selenium import webdriver
import time
driver = webdriver.Chrome()
# driver.get(url="http://www.baidu.com")
driver.get("file://D:/python+selenium/test/tag_name.html")   # html文件的絕對路徑
driver.maximize_window()
# driver.find_element_by_link_text("百度一下").click()
driver.find_element_by_partial_link_text("百度").click()
time.sleep(3)
driver.quit()

6、通過css定位   find_element_by_css_selector  

from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get(url="http://www.baidu.com")
driver.maximize_window()
driver.find_element_by_css_selector("[id = 'kw']").send_keys("hello world") 
time.sleep(3)
driver.quit()

當然,通過css定位肯定不止這一種,還有很多其他的方式,可以參考博客: https://www.cnblogs.com/zuodaozhudemeng/p/7487798.html

7、通過xpath定位   find_element_by_xpath 

from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get(url="http://www.baidu.com")
driver.maximize_window()
driver.find_element_by_xpath("//input[@id = 'kw']").send_keys("hello world")
time.sleep(3)
driver.quit()

通過 xpath 的多種定位方法,會寫一篇詳細的博客來解釋,個人而言,用的比較多的還是xpath方法來定位 。

以上就是元素定位的常用方法,根據實際情況去具體應用。

 


免責聲明!

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



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