標題目錄
- 一、Selenium點擊與輸入
- 二、Xpath定位
- 三、Css Selector
- 四、selenium中使用XPath和css selector
- 五、最后
一、Selenium點擊與輸入
driver.find_element_by_id('kw').send_keys('自動化測驗') driver.find_element_by_id('su').click() #下面用By方法 from selenium.webdriver.common.by import By find_element(By.ID,'kw').send_keys('自動化測驗') find_element(By.ID,'su').click()
二、Xpath定位
XML Path Language
用于決議heml與xml
缺點:速度慢,因為xpath是從頭到尾的一點一點去查找元素,

Xpath 演示
從節點往下找

直接選取class
/ 和 // 的區別
/ 只能尋找 class=“live‐list” 下面節點的元素,下面節點元素里面的元素則無法找到,
// 能找到子元素里面的元素, 如下圖:能找到 class=“live‐list” 里面的 a 標簽和 div 標簽等,
如下圖: //a 能找到里面所有的帶有 a 標簽的元素, /a 則找不到里面的帶有 a 標簽的元素,
三、Css Selector
Css Selector支持Appium和Selenium,但是Appium原生控制元件是不支持Css Selector的,只支持Xpath,


Css Selector演示
根據id和name來查找
寫法: $(’#kw’) 、 $(’[id=kw]’) 和 $(’[name=wd]’)


有多個 a 元素該如何找到相對應的想要的元素呢?比如要找到 資訊 的 a 元素,
$(’#s_tab a:nth‐child(1)’) 則表示選擇其父元素的第1個子元素的每個元素,這個不是我們要找的“資訊”的元素,
$(’#s_tab a:nth‐child(2)’) 則表示選擇其父元素的第2個子元素的每個元素,這個才是我們要找的
元素,
為什么括號里是 2 而不是 1 呢,
因為 a 元素的父元素是
而不是
所以我們要找的“資訊”的 a 元素是
下面的第二個元素,所以括號里是2: $(’#s_tab a:nth‐child(2)’) ,
在用這個方法的時候要看其父元素是誰,要找的元素在第幾,
如果我們想找到最后一個元素呢?
使用 $(’#s_tab a:nth‐last‐child(1)’) 或者 $(’[id=s_tab] a:nth‐last‐child(1)’)
加上 -last 表示從最后開始找
頁面中有多個相同的class時
四、selenium中使用XPath和css selector
import time from selenium import webdriver from selenium.webdriver.common.by import By class TestSelector: def setup(self): self.driver = webdriver.Chrome() self.driver.get('https://www.baidu.com') self.driver.implicitly_wait(3) #隱式等待3秒 def teardown(self): time.sleep(2) self.driver.quit() def test_selector(self): self.driver.find_element(By.XPATH,'//*[@id="kw"]').send_keys('自動化測驗')


Css Selector寫法
def test_selector(self): self.driver.find_element(By.CSS_SELECTOR,'#kw').send_keys('自動化測驗')
五、最后
對軟體測驗、介面測驗、自動化測驗、軟體測驗零基礎入門、性能測驗、LR腳本開發、python自動化全堆疊、面試經驗感興趣可以175317069,群內會有不定期的發放免費的資料鏈接,如果你有好的學習也資料可以私聊發我,我會注明出處之后分享給大家,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/16218.html
標籤:其他
