设万维读者为首页 万维读者网 -- 全球华人的精神家园 广告服务 联系我们 关于万维
 
首  页 新  闻 视  频 博  客 论  坛 分类广告 购  物
搜索>> 发表日志 控制面板 个人相册 给我留言
帮助 退出
Chih-Yuan Yip 的博客  
台灣軟體工程師  
https://blog.creaders.net/u/33776/ > 复制 > 收藏本页
网络日志正文
Selenium 自動化瀏覽器定位元素的8種策略 2024-06-18 09:32:34

Selenium.jpg

Selenium 是一個範圍廣泛的工具和函式庫的總稱專案,用於啟用和支援網頁瀏覽器的自動化。Selenium WebDriver 提供了 C#、JavaScript、Java、Python、Ruby 等多種語言的 API,可以用於編寫自動化測試軟體。

在定位元素時,WebDriver 提供對這 8 種傳統定位策略的支援。

1. 類別名稱

HTML 頁面網頁元素可以有類別屬性。我們可以使用 Selenium 中提供的類別名稱定位器來識別這些元素。

driver = webdriver.Chrome()driver.find_element(By.CLASS_NAME, "information")

2. CSS 選擇器

CSS 是用來設定 HTML 頁面樣式的語言。我們可以使用 CSS 選擇器定位策略來辨識頁面上的元素。如果元素有 id,我們可以將定位器建立為 css = #id。否則,我們遵循的格式為 css =[屬性=值]。我們將使用 CSS 為「fname」文字方塊建立定位器。

driver = webdriver.Chrome()driver.find_element(By.CSS_SELECTOR, "#fname")

3. ID 屬性

我們可以使用網頁中元素的 ID 屬性來定位它。一般來說,網頁上每個元素的 ID 屬性都應該是唯一的。我們將使用它來辨識「姓氏」欄位。

driver = webdriver.Chrome()driver.find_element(By.ID, "lname")

4. 名稱屬性

我們可以使用網頁中元素的 NAME 屬性來定位它。一般來說,網頁上每個元素的 NAME 屬性都應該是唯一的。我們將使用它來辨識「電子報」核取方塊。

driver = webdriver.Chrome()driver.find_element(By.NAME, "newsletter")

5. 連結文字

如果我們要定位的元素是連結,我們可以使用連結文字定位器來辨識網頁上的連結。連結文字是連結顯示的文字。在共用的 HTML 片段中,我們有一個可用的連結,讓我們看看我們要如何定位它。

driver = webdriver.Chrome()driver.find_element(By.LINK_TEXT, "Selenium Official Page")

6. 部分連結文字

如果我們要定位的元素是連結,我們可以使用部分連結文字定位器來辨識網頁上的連結。連結文字是連結顯示的文字。我們可以傳遞部分文字作為值。在共用的 HTML 片段中,我們有一個可用的連結,讓我們看看我們要如何定位它。

driver = webdriver.Chrome()driver.find_element(By.PARTIAL_LINK_TEXT, "Official Page")

7. 標籤名稱

我們可以使用 HTML 標籤本身作為定位器,來辨識網頁上的網頁元素。從上面共用的 HTML 片段中,讓我們使用其 HTML 標籤「a」來辨識連結。

driver = webdriver.Chrome()driver.find_element(By.TAG_NAME, "a")

8. XPath 表達式

HTML 文件可以視為 XML 文件,然後我們可以使用 XPath,這將是遍歷以到達感興趣的元素的途徑,來定位元素。XPath 可以是絕對 XPath,它是由文件的根目錄建立的。例如 /html/form/input[1]。這將傳回男性選項按鈕。或者 XPath 可以是相對的。例如 //input[@name='fname']。這將傳回名字文字方塊。讓我們使用 XPath 為女性選項按鈕建立定位器。

driver = webdriver.Chrome()driver.find_element(By.XPATH, "//input[@value='f']")

https://chihyuanyip.github.io/2024/06/18/eight-Strategies-for-locating-elements-in-selenium-webdriver.html


浏览(92) (2) 评论(0)
发表评论
我的名片
chihyuanyip
注册日期: 2024-04-08
访问总量: 8,339 次
点击查看我的个人资料
Calendar
最新发布
· 人工智慧開源庫 PyTorch 2.4 發
· 科學運算函式庫 NumPy 2.0.0 發
· Selenium 自動化瀏覽器定位元素
· JavaScript 與 CoffeeScript、Ty
· 在 Ruby on Rails 框架中使用 Po
· 流行 CSS 預處理器:Sass、Less
分类目录
【default】
· 人工智慧開源庫 PyTorch 2.4 發
· 科學運算函式庫 NumPy 2.0.0 發
· Selenium 自動化瀏覽器定位元素
· JavaScript 與 CoffeeScript、Ty
· 在 Ruby on Rails 框架中使用 Po
· 流行 CSS 預處理器:Sass、Less
存档目录
2024-08-09 - 2024-08-09
2024-07-01 - 2024-07-01
2024-06-01 - 2024-06-18
2024-05-05 - 2024-05-05
2024-04-18 - 2024-04-18
 
关于本站 | 广告服务 | 联系我们 | 招聘信息 | 网站导航 | 隐私保护
Copyright (C) 1998-2024. Creaders.NET. All Rights Reserved.