1. 程式人生 > >selenium自動化測試基礎元素定位

selenium自動化測試基礎元素定位

點選連結查詢相關視訊教程

.get("XXX") 開啟網頁

.maximize_window() 最大化開啟

.set_window_size(10,20) 設定開啟尺寸

.refresh() 重新整理

.back()  返回

.forward() 下一頁

.find_element_by_id("").send_keys("")  根據ID名查詢

.find_element_by_name("").send_keys("") 根據name查詢

.find_element_by_id("").click() 根據ID點選按鈕


.find_element_by_tag_name("標籤").send_keys("")   根據標籤查詢

.find_elements_by_tag_name("標籤")[0].send_keys("") 根據標籤陣列查詢

.find_elements_by_link_text("超連結名稱").click()  根據具體超連結名稱點選

.find_elements_by_parrial_link_text("不具體超連結名稱").click()  根據不具體超連結名稱點選


.find_elements_by_xpath("/html/baby/div[1]/div/ul").send_keys("")   xpath絕對定位

.find_elements_by_xpath("//input[@id=""]").send_keys("") 利用元素定位  


下拉框

.find_element_by_tag_name('option')[1].click()  根據option下標點選

.find_element_by_css_selector('[value="2"]').click() 根據value點選


form selenium.webdriver.support.ui import select

select = Select(driver.find_element_by_css_selector("[name='XXX']"))

select.select_by_index(2)   根據下標
select.select_by_visible_text("XXX")  根據文字內容
select.select_by_value("1")  根據value


滑鼠操作

from selenium.webdriver.common.action_chains import ActionChains

driver.find_element_by_css_selector("#kw").send_keys("") 輸入

獲取搜尋框元素物件
element =driver.find_element_by_css_selector("#kw")


雙擊操作
ActionChains(driver).double_click(element).perform()


右擊操作
ActionChains(driver).context_click(element).perform()

滑鼠懸停
above=driver.find_element_by_css_selector(".pf")
ActionChains(driver).move_to_element(above).perform()


鍵盤操作

from  selenium.webdriver.common.keys import keys

鍵盤全選
.find_element_by_css_selector("#kw").send_keys(keys.CONTROL,''a")

鍵盤操作複製或剪下
.find_element_by_css_selector("#kw").send_keys(keys.CONTROL,''c")
.find_element_by_css_selector("#kw").send_keys(keys.CONTROL,''x")

貼上複製內容
.find_element_by_css_selector("#kw").send_keys(keys.CONTROL,''v")


元素等待

顯示等待是針對某一個元素進行相關等待判定
隱式等待不針對某一個元素進行等待,全域性元素等待

引用

WebDriverWait  顯示等待針對元素必用
from selenium.webdriver.support.ui import WebDriverWait

expected_conditions 預期條件類 (裡面包含方法可以呼叫,用於顯示等待)
from selenium.webdriver.support import expected_conditions as EC

By  用於元素定位
from selenium.webdriver.common.by import by

element=WebDriverWait(driver,最長等待時間,每隔多久去檢測一次).until(Ec.presence_of_element_located(By.ID,"su")))
element.click()

NoSuchElementException 用於隱式等待丟擲異常
from selenium.common.exceptions import NoSuchElementException

.implicitly_wait(5)  隱式等待時間設定5秒

try:
    print(ctime())
    .find_element_by_css_selector("#kw").send_kets("XXX")
    .find_element_by_css_selector("#su").click()
except NoSuchElementException as msg
    print(msg)
finally:
    print(ctime())


frame巢狀頁面元素定位
.switch_to.frame(0) 用frame的index來定位,第一個是0

.switch_to.frame("frame1") 用id來定位

.switch_to.frame("myframe")用name來定位