Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
我們在進行自動化測試工作的時候,如果頁面內容過多,一次性加載耗時太長的話,會使用分段加載來加載頁面內容,比如開始只加載頁面頂端的內容,而如果要加載更多的數據,就需要我們向下滑動,讓頁面加載后續的內容;尤其是網頁特別長的時候,我們往往需要滑動較長的距離才可以滑動到頁面的底端,本文就來介紹一下selenium操作窗口滾動條的方法。
我們首先要準備好selenium環境和瀏覽器驅動,下載好chromedriver或者geckodriver并配置好瀏覽器驅動的環境變量,這里我們不做贅述,selenium環境配置的文章之前我們已經有介紹過如何配置環境了。
在使用Selenium之前,我們需要創建一個WebDriver實例,這個實例會充當瀏覽器的代理,踢我們執行各種操作。以下是一個創建Chrome WebDriver實例的示例:
python
復制代碼
from selenium import webdriver # 創建一個Chrome WebDriver實例 driver = webdriver.Chrome()
使用WebDriver,我們可以訪問需要滾動的目標網頁。這可以通過get方法來完成:
python
復制代碼
# 導航到目標網頁 driver.get("https://example.com")
我們有多種方法可以實現頁面滾動,下面我們來逐一介紹滾動方法:
可以滾動到特定元素,確保它在可見區域內。以下是一個示例代碼,滾動到頁面底部的某個元素:
python
復制代碼
# 定位到要滾動到的元素 element_to_scroll_to = driver.find_element(By.ID, "element_id") # 使用JavaScript滾動到元素位置 driver.execute_script("arguments[0].scrollIntoView();", element_to_scroll_to)
如果我們只是想滾動到頁面的底部,可以使用以下示例代碼:
python
復制代碼
# 使用JavaScript滾動到頁面底部 driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
滾動到頁面上的特定坐標位置。以下是示例代碼,滾動到水平坐標0和垂直坐標500的位置:
python
復制代碼
# 使用JavaScript滾動到特定坐標 driver.execute_script("window.scrollTo(0, 500);")
本文主要介紹了使用selenium實現頁面滾動的方法步驟,現在頁面的內容越來越多,經常需要我們實現頁面滾動才可以更好地運行我們地測試用例,希望本文能夠幫助到大家。
霍格沃茲測試開發學社|免費學習資料大放送,助你事半功倍! - 公眾號 - 測試人社區
本文中,我們將深入了解滾動條的世界。我知道,這聽起來不太迷人,但相信我,精心設計的頁面與匹配的滾動條齊頭并進。老式的鍍鉻滾動條只是不適合那么多。
我們將研究滾動條的細節,然后看看一些很酷的例子。
要設置滾動條的樣式,您需要熟悉滾動條的解剖結構。請看這張圖:
這里要記住的兩個主要組成部分是:
我們可以使用供應商前綴::-webkit-scrollbar 選擇器更改完整滾動條的屬性。我們可以給滾動條一個固定的寬度、背景顏色、圓角......很多事情!如果我們自定義頁面的主滾動條,那么我們可以直接在 HTML 元素上使用 ::-webkit-scrollbar:
html::-webkit-scrollbar {
/* Style away! */
}
如果我們自定義一個滾動框,這是溢出的結果:滾動,那么我們可以在該元素上使用 ::-webkit-scrollbar:
.element::-webkit-scrollbar {
/* Style away! */
}
下面是一個快速示例,它設置 HTML 元素滾動條的樣式,使其寬,背景為紅色:
如果我們只想更改滾動條的thumb或track怎么辦?你猜對了——我們分別為這兩個元素提供了特殊的前綴偽元素:::-webkit-scrollbar-thumb 和 ::-webkit-scrollbar-track。以下是我們將所有這些東西放在一起時可能實現的想法:
向您展示三個度的自定義滾動條樣式,然后打開一個從網絡上提取示例的大型展示,以獲取靈感。
自定義滾動條仍然可以是最小的。我整理了一組示例,這些示例巧妙地改變了外觀,無論是對拇指或軌道進行輕微的顏色更改,還是對背景進行一些淺色造型。
如您所見,在滾動條樣式方面,我們不必發瘋。有時,只需進行細微的更改即可通過與整體主題匹配的滾動條來增強整體用戶體驗.
html::-webkit-scrollbar{
width: 50px;
background:red;
}
如果我們只想更改滾動條的拇指或軌道怎么辦?你猜對了——我們分別為這兩個元素提供了特殊的前綴偽元素:::-webkit-scrollbar-thumb 和 ::-webkit-scrollbar-track。以下是我們將所有這些東西放在一起時可能實現的想法:
html::-webkit-scrollbar {
width: 30px;
}
html::-webkit-scrollbar-track {
background: black;
box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}
html::-webkit-scrollbar-thumb {
background: red;
border: 3px solid blue;
}
向您展示三個度的自定義滾動條樣式,然后打開一個從網絡上提取示例的大型展示,以獲取靈感。
自定義滾動條仍然可以是最小的。我整理了一組示例,這些示例巧妙地改變了外觀,無論是對拇指或軌道進行輕微的顏色更改,還是對背景進行一些淺色造型。
.container {
display: flex;
margin: 50px;
column-gap: 20px;
}
.scrollbar {
height: 300px;
width: 50%;
overflow: auto;
padding: 0 10px;
}
/* ScrollBar 1 */
#scrollbar1::-webkit-scrollbar {
width: 10px;
}
#scrollbar1::-webkit-scrollbar-track {
border-radius: 8px;
background-color: #e7e7e7;
border: 1px solid #cacaca;
}
#scrollbar1::-webkit-scrollbar-thumb {
border-radius: 8px;
background-color: #d55959;
}
/* ScrollBar 2 */
#scrollbar2::-webkit-scrollbar {
width: 12px;
}
#scrollbar2::-webkit-scrollbar-track {
border-radius: 8px;
background-color: #e7e7e7;
border: 1px solid #cacaca;
box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
}
#scrollbar2::-webkit-scrollbar-thumb {
border-radius: 8px;
background-color: #363636;
}
/* ScrollBar 3 */
#scrollbar3::-webkit-scrollbar {
width: 12px;
}
#scrollbar3::-webkit-scrollbar-track {
background-color: #e7e7e7;
border: 1px solid #cacaca;
}
#scrollbar3::-webkit-scrollbar-thumb {
background-color: #060b9a;
}
/* ScrollBar 4 */
#scrollbar4::-webkit-scrollbar {
width: 12px;
}
#scrollbar4::-webkit-scrollbar-track {
background-color: transparent;
border: 1.5px solid #7e7e7e;
border-radius: 8px;
}
#scrollbar4::-webkit-scrollbar-thumb {
background-color: #f1f1f1;
border: 2px solid #616161;
border-radius: 8px;
}
/* ScrollBar 5 */
#scrollbar5::-webkit-scrollbar {
background-color: #000;
width: 12px;
border-radius: 10px;
}
#scrollbar5::-webkit-scrollbar-track {
border-radius: 10px;
box-shadow: inset 0 0 6px rgba(255, 255, 255, 0.3);
}
#scrollbar5::-webkit-scrollbar-thumb {
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(.5, #a520ca), color-stop(1, #2681cc));
border-radius: 10px;
}
/* ScrollBar 6 */
#scrollbar6::-webkit-scrollbar {
width: 12px;
}
#scrollbar6::-webkit-scrollbar-track {
border-radius: 8px;
background-color: #95a5a6;
border: 1px solid #cacaca;
}
#scrollbar6::-webkit-scrollbar-thumb {
border-radius: 8px;
background-color: #2c3e50;
}
如您所見,在滾動條樣式方面,我們不必發瘋。有時,只需進行細微的更改即可通過與整體主題匹配的滾動條來增強整體用戶體驗。
avaScript
在我們制作html網頁的時候,有時候需要某個元素(比如說div)的滾動條一直在最下方,那么我們該怎么做呢?
先上代碼:
window.onload = SetScroll;// 不要括號
function SetScroll(){
//讀取需要設定的元素高度
var height=$("#showwindows")[0].scrollHeight;
//設置元素的滾動條位置在高度數據地方就是最下方
$("#showwindows").scrollTop(height);
}
程序執行流程如下:
1、頁面加載時自動調用JavaScript中的SetScroll方法;
2、設置height為需要設置滾動條元素的高度;
3、設置元素的滾動條位置為元素高度,就是元素的最下方位置。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。