js 隱藏滾動條 Web自動化測試 使用js語句

2021-10-17 10:22:37 字數 2049 閱讀 7802

在selenium中,有方法可以執行js語句,這樣的話對於一些selenium中沒有的操作,或者實際編寫ui自動化中遇到的疑難雜症,多了另外乙個解決思路!簡直像是開啟了新世界的大門一樣。js本身是很強大的,也就是說我們在使用selenium庫中的操作以及方法之外,還可以用另一門專門針對前段的程式語言來輔助我們完成ui自動化指令碼,對於指令碼編寫應該具有很大幫助。

同步請求執行js

driver.execute_script(script, *args)

script:要執行的js語句

*args:執行js語句時使用的一些引數

非同步請求執行js

driver.execute_async_script(script, *args)

script:要執行的js語句

*args:執行js語句時使用的一些引數

對於同步請求和非同步請求的區別:

同步請求指我們傳送乙個請求後,需要服務端進行返回相應結果後才能進行接下來的操作;

非同步請求指我們傳送乙個請求後,不需要服務端返回響應結果,直接進行接下來的操作(例如ajax)。

對於js的功能,比較常用的就是改變元素的屬性值,經常用於一些隱藏的標籤需要操作時,將元素屬性改為可見。當然還有其它所了解的一些用法,例如:調整滾動條位置、高亮現實指定元素等,下面進入實際網頁演示下。

整滾動條位置:

document.documentelement.scrolltop=9999

高亮顯示指定元素:

"arguments[0].setattribute('style', arguments[1]);",ele, "background: green; border: 2px solid red;"

更改元素屬性值:

document.getelementbyid('s').placeholder='***';

或者:

"arguments[0].value='谷歌一下'",element
element:定位的元素這裡需要注意的是,我們可以通過selenium所定位的元素物件,來傳遞到js語句中,作為乙個js中的乙個元素物件來進行操作。

演示**

from selenium import webdriver

from time import sleep

driver = webdriver.chrome()

driver.get("")

# 高亮顯示所定位的元素

light_element = driver.find_element_by_id("s")

js_sentence_light = "arguments[0].setattribute('style', arguments[1]);"

js_sentence_args = "color: yellow; border: 5px solid yellow;"

driver.execute_script(js_sentence_light, light_element, js_sentence_args)

sleep(3)

# 更改頁面輸入框中的預設文字

js_sentence_style = "document.getelementbyid('s').placeholder='我改變了搜尋輸入框預設文字';"

driver.execute_script(js_sentence_style)

sleep(3)

# 改變滾動條位置

js_sentence_position = "document.documentelement.scrolltop=9999"

driver.execute_script(js_sentence_position)

sleep(3)

自動化測試 web自動化測試

自動化 由機器裝置代替人為完成制定目標的過程 優點 提高工作效率 減少勞動力 產品規格同一標準 批量生產 自動化測試 讓程式代替人為去驗證程式功能的過程,即在預設條件下執行程式系統 流程確定 搭建自動化框架 編寫測試用例,將其轉化為soupui 介面 自動化測試指令碼 執行自動化測試指令碼 輸出執行...

web自動化測試

1.環境搭建 win10 64bit selenium2.53.6版本 安裝方法 pip install selenium 2.53.6 瀏覽器搭載三個 chrome 49版本 driver2.22 ie 11版本 driver2.5 firefox 44版本 在pycharm中關聯電腦本身安裝的工...

Web自動化測試

測試思路 從測試資料中讀取測試資料,包括兩部分,一部分是測試輸入,一部分為預期結果。而自動化測試的目標就是,實現 為驅動,讀取測試資料,模擬手動操作的步驟,得到真實的結果。判斷真實的結果是否與預期一致,僅此而已。1.首先呼叫公共模組的讀取資料介面,完成從data中的資料檔案讀取資料 xlsx,pro...