真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

自動化測試:盤點Selenium頁面元素定位的8種方法

前段時間因項目需要,學(xué)習(xí)Selenium進行自動測試。現(xiàn)在總結(jié)整理下Selenium中元素定位的方法,希望可以幫助一些有疑問的朋友。

東烏珠穆沁網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,東烏珠穆沁網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為東烏珠穆沁千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的東烏珠穆沁做網(wǎng)站的公司定做!

自動化測試:盤點Selenium頁面元素定位的8種方法

自動化測試步驟 :

定位元素→操作元素→驗證操作結(jié)果→記錄測試結(jié)果

在自動化測試過程中,測試程序通常的操作頁面元素步驟找到Web的頁面元素,并賦予到一個存儲對象中 (WebElement)對存儲頁面元素的對象進行操作,例如:點擊鏈接,在輸入框中輸入字符等,驗證頁面上的元素是否符合預(yù)期。

通過這三個步驟, 我們可以完成一個頁面元素的操作, 找到頁面元素是很重要的一個步驟。 找不到頁面元素,后面就沒法做了,Web頁面技術(shù)的現(xiàn)實復(fù)雜性, 造成大量的頁面元素很難定位。經(jīng)常有人不知道怎么定位。

定位方法大全

使用WebDriver對象的findElement函數(shù)定義一個Web頁面元素

使用findElements函數(shù)可以定位頁面的多個元素

定位的頁面元素需要使用WebElement對象來存儲,以便后續(xù)使用

常用的定位頁面元素方法如下,

定位方法 Java語言實現(xiàn)實例

id 定位 driver.findElement(By.id(“id的值”));

name定位 driver.findElement(By.name(“name的值”));

鏈接的全部文字定位 driver.findElement(By.linkText(“鏈接的全部文字”));

鏈接的部分文字定位 driver.findElement(By.partialLinkText(“鏈接的部分文字”));

css 方式定位 driver.findElement(By.cssSelector(“css表達式”));

xpath 方式定位 driver.findElement(By.xpath(“xpath表達式”));

Class 名稱定位 driver.findElement(By.className(“class屬性”));

TagName 標(biāo)簽名稱定位 driver.findElement(By.tagName(“標(biāo)簽名稱”));

Jquery方式 Js.executeScript(“return jQuery.find(“jquery表達式”)”)

如何定位?

在使用selenium webdriver進行元素定位時,通常使用findElement或findElements方法結(jié)合By類返回元素句柄來定位元素

findElement() 方法返回一個元素, 如果沒有找到,會拋出一個異 NoElementFindException()

findElements()方法返回多個元素, 如果沒有找到,會返回空數(shù)組, 不會拋出異常

如何選擇定位方法?

策略是,選擇簡單,穩(wěn)定的定位方法。

當(dāng)頁面元素有 id屬性的時候,盡量使用 id來定位。沒有的話,再選擇其他定位方法

cssSelector 執(zhí)行速度快,推薦使用。

定位超鏈接的時候,可以考慮 linkText或 partialLinkText:但是要注意的是,文本經(jīng)常發(fā)生改變,所以不推薦用。

xpath 功能最強悍。當(dāng)時執(zhí)行速度慢,因為需要查找整個DOM, 所以盡量少用。實在沒有辦法的時候,才使用 xpath。

這里,初學(xué)者可以根據(jù)下面的實例來一一了解如何進行元素的定位。

環(huán)境準(zhǔn)備

首先創(chuàng)建一個hello.html頁面,用于下面的演示

你好,世界!

我的看云首頁



用戶名:

密碼:

地區(qū):




在同個目錄下創(chuàng)建一個find_location.py文件,初始化工作

from selenium import webdriver

import os

# 創(chuàng)建Chrome驅(qū)動實例

driver = webdriver.Chrome()

# 啟動瀏覽器并且導(dǎo)航到指定URL

# 這里為了覆蓋更多的元素定位,我自己編寫了一個本地的hello.html文件。

file_path = 'file:///' + os.path.abspath('hello.html')

driver.get(file_path)

元素定位

通過class定位

find_element_by_class_name(self, name):

find_elements_by_class_name(self, name):

# 定位class名稱為“head_title"的元素

head_title = driver.find_element_by_class_name("head_title")

print(head_title.text)

通過id定位

find_element_by_id(self, id_):

find_elements_by_id(self, id_):

# 定位id為“world”的元素

world = driver.find_element_by_id("world")

print(world.text)

通過name屬性定位

find_element_by_name(self, name):

find_elements_by_name(self, name):

# 定位name為“username”的元素

username = driver.find_element_by_name("username")

print(username.get_attribute("value"))

通過標(biāo)簽名定位

find_element_by_tag_name(self, name):

find_elements_by_tag_name(self, name):

# 定位標(biāo)簽為

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部