日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

selenium源码通读·5 |webdriver/common/action_chains.py-ActionChains类

發(fā)布時間:2023/12/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 selenium源码通读·5 |webdriver/common/action_chains.py-ActionChains类 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1 源碼路徑

selenum/webdriver/common/action_chains.py

2 功能描述

提供鼠標(biāo)操作,模擬用戶的鼠標(biāo)行為;
如鼠標(biāo)的各種單擊、雙擊、滑動、拖拽等操作。

3 使用方法

源碼說的很清晰了,只要使用以下的方法即可:

ActionChains can be used in a chain pattern::menu = driver.find_element_by_css_selector(".nav")hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")ActionChains(driver).move_to_element(menu).click(hidden_submenu).perform()Or actions can be queued up one by one, then performed.::menu = driver.find_element_by_css_selector(".nav")hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")actions = ActionChains(driver)actions.move_to_element(menu)actions.click(hidden_submenu)actions.perform()

4 幾個方法

4.1 __init__方法

需要傳遞一個driver,這個在實際應(yīng)用中就是使用這個類的時候需要傳遞一個driver

源碼:

def __init__(self, driver):"""Creates a new ActionChains.:Args:- driver: The WebDriver instance which performs user actions."""self._driver = driverself._actions = []if self._driver.w3c:self.w3c_actions = ActionBuilder(driver)

4.2 perform方法

用來執(zhí)行存儲的所有動作或操作;

源碼:

def perform(self):"""Performs all stored actions."""if self._driver.w3c:self.w3c_actions.perform()else:for action in self._actions:action()

4.3 reset_actions方法

用來清空所有的動作;

源碼:

def reset_actions(self):"""Clears actions that are already stored locally and on the remote end"""if self._driver.w3c:self.w3c_actions.clear_actions()self._actions = []

5 ActionChains類API

6 實例

  • 輸入百度網(wǎng)址
  • 輸入NoamaNelson
  • 回車搜索
  • 最大化窗口
  • 全選輸入的內(nèi)容,重新輸入N
  • 點擊“百度一下”進(jìn)行搜索
from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.action_chains import ActionChains import timedriver = webdriver.Chrome() driver.get("http://www.baidu.com")driver.find_element_by_id("kw").send_keys("NoamaNelson") time.sleep(1) driver.find_element_by_id("kw").send_keys(Keys.ENTER) driver.maximize_window() time.sleep(0.5) driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"a") time.sleep(0.5) driver.find_element_by_id("kw").send_keys("N") su = driver.find_element_by_id("su") ActionChains(driver).click(su).perform() time.sleep(1) driver.quit()

在這里還是要推薦下我自己建的軟件測試學(xué)習(xí)Q群: 746506216,群里都是學(xué)測試的,如果你想學(xué)或者正在學(xué)習(xí)測試,歡迎你加入,大家都是測試黨,不定期分享干貨(只有軟件測試相關(guān)的),包括我自己整理的一份2022最新的Python自動化測試進(jìn)階資料和零基礎(chǔ)教學(xué),歡迎進(jìn)階中和對測試感興趣的小伙伴加入!

總結(jié)

以上是生活随笔為你收集整理的selenium源码通读·5 |webdriver/common/action_chains.py-ActionChains类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。