當前位置:首頁 > IT技術(shù) > Web編程 > 正文

web控件的交互進階
2021-11-30 22:50:33

web控件的交互進階

常用的操作事件(右鍵點擊、頁面滑動、表單操作等)

https://selenium-python.readthedocs.io/api.html

?

ActionChains

https://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.common.action_chains

?

?

?

?

?

?

?

https://sahitest.com/demo/clicks.htm

?

?

?

?

?

?

?

?

?測試案例二,紅框代碼接上上圖代碼:

?

?

?

用法三:將某個元素拖拽到某一個元素上

?

?

?http://sahitest.com/demo/dragDropMooTools.htm

?代碼接上上圖

?

?

?或者將action的部分替換成如下代碼也可以:

?

?

?又或者:

?

?

?

?

?

?

?

?

?

?

from time import sleep
from selenium import webdriver
from selenium.webdriver import ActionChains, Keys

class Testone:
    def setup(self):
        self.driver=webdriver.Chrome()
        self.driver.implicitly_wait(5)
    def teardown(self):
        self.driver.quit()
    def test_ctrl(self):
        self.driver.get("http://sahitest.com/demo/label.htm")
        input_element1=self.driver.find_element("xpath","/html/body/label[1]/input")
        input_element2 = self.driver.find_element("xpath", "/html/body/label[2]/table/tbody/tr/td[2]/input")
        input_element1.click()
        action=ActionChains(self.driver)
        action.send_keys("username").pause(1)
        action.key_down(Keys.CONTROL).send_keys('a').key_up(Keys.CONTROL).pause(2)#全選
        action.key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).pause(2)#復(fù)制
        action.send_keys(Keys.BACK_SPACE).perform()#1 此處因為前面執(zhí)行了全選操作,所以這里執(zhí)行backspace會全部刪除,2 這里必須要一個perform()讓關(guān)于第一個輸入框的操作去執(zhí)行,否則你會看到程序一直在倒騰第二個輸入框
        input_element2.click()
        action.key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL).pause(2)#黏貼
        action.send_keys(Keys.BACK_SPACE).perform()
        sleep(3)

?

?http://sahitest.com/demo/label.htm

打開同樣的網(wǎng)址,定位輸入框e1,點擊這個元素(為了將光標移到輸入框,為輸入做準備),向輸入框中輸入文字“username tom”,再把刪除一個字符,pause(1)是讓每一步操作都等待一秒

?實際操作中,使用find_element_by_xpath方法時提示:find_element_by_xpath? ??deprecated funcation(棄用函數(shù)),這時需要換成簡單的定位方法,如: find_element("xpath"," ")?

具體詳細解決方法見如下博客:https://blog.csdn.net/m0_54510474/article/details/121090473

?不過上述的某些操作似乎不需要借助action也能直接完成,詳細見如下博客:https://www.cnblogs.com/hzcya1995/p/13309155.html

?

TouchActions

?

?

?

?

?

?

?

?

?

?

?

?

?

?

本文摘自 :https://www.cnblogs.com/

開通會員,享受整站包年服務(wù)立即開通 >