1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      自動(dòng)化測試:盤點(diǎn)Selenium頁面元素定位的8種方法

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

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

      自動(dòng)化測試:盤點(diǎn)Selenium頁面元素定位的8種方法

      自動(dòng)化測試步驟 :

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

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

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

      定位方法大全

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

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

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

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

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

      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表達(dá)式”));

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

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

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

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

      如何定位?

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

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

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

      如何選擇定位方法?

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

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

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

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

      xpath 功能最強(qiáng)悍。當(dāng)時(shí)執(zhí)行速度慢,因?yàn)樾枰檎艺麄€(gè)DOM, 所以盡量少用。實(shí)在沒有辦法的時(shí)候,才使用 xpath。

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

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

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

      你好,世界!

      我的看云首頁



      用戶名:

      密碼:

      地區(qū):




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

      from selenium import webdriver

      import os

      # 創(chuàng)建Chrome驅(qū)動(dòng)實(shí)例

      driver = webdriver.Chrome()

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

      # 這里為了覆蓋更多的元素定位,我自己編寫了一個(gè)本地的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)簽為

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        怀集县| 科尔| 温州市| 长沙市| 辉南县| 会宁县| 车险| 都匀市| 墨玉县| 花莲市| 安平县| 广昌县| 包头市| 伊春市| 十堰市| 抚顺县| 门源| 台南市| 文山县| 古田县| 库伦旗| 剑河县| 土默特右旗| 潼南县| 新营市| 徐水县| 东源县| 沙坪坝区| 建平县| 沙田区| 丰镇市| 通山县| 化德县| 上林县| 旬阳县| 南投市| 惠州市| 西安市| 股票| 孝义市| 阳西县|