selenium中WebDriver的基本語法

1.Selenium中的WebDriver常用方法:

??? title():獲取title標(biāo)簽,或者使用title屬性

driver.title()

??? get(url):get方式請求url

driver.get('http://www.baidu.com')

???? back():瀏覽器后退操作

driver.back()

? ?? forward():瀏覽器前進(jìn)操作

driver.forward()

??? save_screenshot(name):保存截圖

driver.save_screenshot('baidu.png')

??? add_cookie(dict):添加cookie,傳入dict類型

driver.add_cookie({"":""})

??? get_cookies():獲取當(dāng)前頁面的cookie

driver.get_cookies()

??? delete_cookie():刪除cookie。

driver.delete_cookie({"":""})

??? delete_all_cookies():刪除所有的cookie

driver.delete_all_cookies()

??? close():關(guān)閉頁面

driver.close()

??? quit():關(guān)閉瀏覽器

driver.quit()

??? maximize_window():最大化

driver.maximize_window()

??? minimize_window():最小化

driver.minimize_window()

2.WebDriver查找標(biāo)簽的方法

??? 通過id查找對應(yīng)的元素

driver.find_element_by_id("id")? ? # id名稱

??? 通過name查找對應(yīng)的元素

driver.find_element_by_name('name') # name屬性

??? 通過標(biāo)簽名查找對應(yīng)元素

driver.find_element_by_tag_name('tag') # tag:標(biāo)簽名

??? 通過xpath來查找對應(yīng)的元素

driver.find_element_by_xpath('xpath') # xpath: xpath匹配規(guī)則

??? 通過class屬性查找對應(yīng)的元素

driver.find_element_by_class_name('classname') # classname:class的屬性名稱

??? 通過css選擇器查找對應(yīng)的元素

driver.find_element_by_css_selector('css')? # css選擇器

3.WebDriver的交互

??? 點擊

driver.find_element_by_id("").click()

??? 提交

driver.find_element_by_id("").submit()

??? 鍵盤輸入

driver.find_element_by_id("").send_keys("")

# ctrl+a 全選輸入框內(nèi)容

driver.find_element_by_id("").send_keys(Keys.CONTROL,'a')

# ctrl+x 剪切輸入框內(nèi)容

driver.find_element_by_id("").send_keys(Keys.CONTROL,'x')

# 輸入框重新輸入內(nèi)容

driver.find_element_by_id("").send_keys("content")

# 模擬Enter回車鍵

driver.find_element_by_id("").send_keys(Keys.RETURN)

# 清除輸入框內(nèi)容

driver.find_element_by_id("").clear()

??? 彈窗

??? 當(dāng)你觸發(fā)了某個事件之后,頁面出現(xiàn)了彈窗提示,處理這個提示或者獲取提示信息方法如下

alert = driver.switch_to_alert()

??? 頁面切換

# 切換到xx頁面

driver.switch_to.window("window_name")

# 也可以使用window_handles方法來獲取每個窗口操作對象

for handler in driver.window_handlers:

? ? driver.switch_to_window(handler)

??? 鼠標(biāo)動作鏈

有些時候,我們需要再頁面上模擬一些鼠標(biāo)操作,比如雙擊、右擊、拖拽甚至按住不動等,我們可以通過導(dǎo)入 ActionChains 類來做到

#導(dǎo)入 ActionChains 類

from selenium.webdriver import ActionChains

# 鼠標(biāo)移動到 ac 位置

ac = driver.find_element_by_xpath('element')

ActionChains(driver).move_to_element(ac).perform()

# 在 ac 位置單擊

ac = driver.find_element_by_xpath("elementA")

ActionChains(driver).move_to_element(ac).click(ac).perform()

# 在 ac 位置雙擊

ac = driver.find_element_by_xpath("elementB")

ActionChains(driver).move_to_element(ac).double_click(ac).perform()

# 在 ac 位置右擊

ac = driver.find_element_by_xpath("elementC")

ActionChains(driver).move_to_element(ac).context_click(ac).perform()

# 在 ac 位置左鍵單擊hold住

ac = driver.find_element_by_xpath("elementF")

ActionChains(driver).move_to_element(ac).click_and_hold(ac).perform()

# 將 ac1 拖拽到 ac2 位置

ac1 = driver.find_element_by_xpath("elementD")

ac2 = driver.find_element_by_xpath("elementE")

ActionChains(driver).drag_and_drop(ac1, ac2).perform()

4.頁面等待

sleep.sleep()

from selenium import webdriver

import time

driver = webdriver.Firefox()

driver.get('https://www.baidu.com')

time.sleep(3)

WebDriverWait()

# WebDriverWait 網(wǎng)頁等待

# 值1:等待的對象

# 值2:等待的時間

# WebDriverWait經(jīng)常和until 以及 until not 一起使用

# lambda 匿名函數(shù)? display 顯示

from selenium.webdriver.support.ui import WebDriverWait

from selenium import webdriver

driver = webdriver.Firefox()

driver.get('https://www.baidu.com')

is_visible = WebDriverWait(driver,10).until(lambda driver : button.is_displayed())

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容