網站首頁 編程語言 正文
前言
八種定位方式:
id,name,class name,tag name,link text,partial link text,xpath,css selector。其中id,name,class name,tag name是根據元素的標簽或元素的屬性來進行定位;link text,partial link text是根據超鏈接的文本來進行定位;xpath為元素路徑定位;css為選擇器定位(樣式定位)。
1:id定位
說明:id定位就是通過元素的id屬性來定位元素;
前提:元素有id屬性
id定位方法:find_element_by_id()
示例:打開百度搜索頁面,通過id定位,輸入搜索關鍵字
from selenium import webdriver
import time
# 打開chrome瀏覽器
driver = webdriver.Chrome()
# 打開百度搜索頁面
driver.get('https://www.baidu.com')
# 通過id定位
driver.find_element_by_id('kw').send_keys('python')
# 強制等待2秒查看效果
time.sleep(2)
# 關閉瀏覽器
driver.quit()
2:name定位
說明:HTML規定name屬性來指定元素名稱,name的屬性值在當前文檔中可以不是唯一的,name定位就是根據name屬性來定位。
前提:元素有name屬性
name定位方法:find_element_by_name()
示例:打開百度搜索頁面,通過name定位,輸入搜索關鍵字
from selenium import webdriver
import time
# 打開chrome瀏覽器
driver = webdriver.Chrome()
# 打開百度搜索頁面
driver.get('https://www.baidu.com')
# 通過name定位
driver.find_element_by_name('wd').send_keys('python')
# 強制等待2秒查看效果
time.sleep(2)
# 關閉瀏覽器
driver.quit()
3:class_name定位
說明:HTML規定class來指定元素的類名,class定位就是根據class屬性來定位。
前提:元素有class屬性
class_name定位方法:find_element_by_class_name()
示例:打開百度搜索頁面,通過class_name定位,輸入搜索關鍵字
from selenium import webdriver
import time
# 打開chrome瀏覽器
driver = webdriver.Chrome()
# 打開百度搜索頁面
driver.get('https://www.baidu.com')
# 通過class_name定位
driver.find_element_by_class_name('s_ipt').send_keys('python')
# 強制等待2秒查看效果
time.sleep(2)
# 關閉瀏覽器
driver.quit()
4:tag_name定位
說明:HTML本質就是由不同的tag(標簽)組成,而每個tag都是指同一類,所以tag定位效率低,一般不建議使用;tag_name定位就是通過標簽名來定位。
tag_name定位方法:find_element_by_tag_name()
5:link_text定位
說明:link_text定位與前面4個定位有所不同,它專門用來定位超鏈接文本(文本值)
前提:定位的元素是鏈接標簽(a標簽)
link_text定位方法:find_element_by_link_text()
示例:打開百度首頁,通過link_text定位到hao123按鈕,并進行點擊操作
from selenium import webdriver
import time
# 打開chrome瀏覽器
driver = webdriver.Chrome()
# 打開百度搜索頁面
driver.get('https://www.baidu.com')
# 通過link_text定位
driver.find_element_by_link_text('hao123').click()
# 強制等待2秒查看效果
time.sleep(2)
# 關閉瀏覽器
driver.quit()
6:partial_link_text定位
說明:partial_link_text定位是對link_text定位的補充,partial_link_text為模糊匹配;link_text為精確匹配。
前提:定位的元素是鏈接標簽(a標簽)
partial_link_text定位方法:find_element_by_partial_link_text()
通過傳入a標簽局部文本或全部文本來定位元素,要求輸入的文本能夠唯一找到這個元素
示例:打開百度首頁,通過partial_link_text定位到新聞,并進行點擊操作
from selenium import webdriver
import time
# 打開chrome瀏覽器
driver = webdriver.Chrome()
# 打開百度搜索頁面
driver.get('https://www.baidu.com')
# 通過partial_link_text定位
driver.find_element_by_partial_link_text('新').click()
# 強制等待2秒查看效果
time.sleep(2)
# 關閉瀏覽器
driver.quit()
7:xpath定位
xpath概述:
- 1、xpath即為xml path的簡稱,它是一種用來確定XML文檔中某部分位置的語言。
- 2、HTML可以看做是XML的一種實現,所以selenium用戶可以使用這種強大的語言在web應用中來定位元素。
- 3、xpath為強大的語言,是因為它有非常靈活的定位策略。
xpath定位策略(方式):
- 1、路徑定位–絕對路徑、相對路徑;
- 2、利用元素屬性定位;
- 3、層級與屬性結合定位;
- 4、屬性與邏輯定位結合。
xpath定位方法:find_element_by_xpath()
8:css定位
css概述:
- 1、css(Cascading Style Sheets)是一種語言,它用來描述HTML和XML的元素顯示樣式。
- 2、css語言中有css選擇器,在selenium中也可以使用這種選擇器來進行元素定位。
- 3、css定位方式比xpath快,而且css的語法也非常強大,所以非常推薦這種方式定位。
css定位策略(方式):
- 1、id選擇器
- 2、class選擇器
- 3、元素選擇器
- 4、屬性選擇器
- 5、層級選擇器
css定位方法:find_element_by_css_selector()
原文鏈接:https://blog.csdn.net/weixin_49981930/article/details/123069020
相關推薦
- 2023-03-27 淺談Rust?+=?運算符與?MIR?應用_Rust語言
- 2022-07-27 C++詳細講解圖論的基礎與圖的儲存_C 語言
- 2022-06-12 C#集合之集(set)的用法_C#教程
- 2022-05-09 Redis擊穿穿透雪崩產生原因分析及解決思路面試_Redis
- 2022-04-07 Python編程基礎之運算符重載詳解_python
- 2022-01-23 win7下與Virtualbox下的ubuntu11.04共享文件夾
- 2022-08-28 linux應用參數保存與配置
- 2022-12-15 QT中對話框的使用示例詳解_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支