1. 程式人生 > >python中selenium關於滾動條的迴圈下拉滾動操作---滾動條操作

python中selenium關於滾動條的迴圈下拉滾動操作---滾動條操作

# -*- coding: utf-8 -*-
# @Time    : 2018/6/19 10:54
# @Author  : 清心
def xh():
   t = True
   time.sleep(1)
   while t:
      driver.execute_script("window.scrollBy(0,1000)")
      try:
         driver.find_element('link_text', '沒有更多推薦了,返回首頁').click()
         time.sleep(1)
         t = False
      except:
         xh()


if __name__ == '__main__':
   driver = webdriver.Chrome()
   driver.get("https://blog.csdn.net/sily_z/article/details/80733267")
   xh()
 #這個條件是決定你是否繼續下滑的條件,如果找到你想要的元素,那麼就會跳出迴圈,不在下滑,否則會一直下滑。
 driver.find_element('link_text', '沒有更多推薦了,返回首頁').click()

 上面這些是我對於迴圈操作滾動條的操作,原來我頁搜尋過,但是沒有發現直接給一個參考,都是舉得例子,我現在就把具體的程式碼都寫出來了,其實實現很簡單,就是定義一個方法,判斷一下你要尋找的元素物件,元素物件查詢不到報異常,再重新操作滾動條。大概是這樣,希望對大家有幫助。

T:

1.我用的谷歌瀏覽器,需要自己下載谷歌瀏覽器,下載驅動,如果使用其他瀏覽器,請修改瀏覽器型別

2.

window.scrollBy(0,100) 

這個方法是從當前位置向下滾動100畫素,而  window.scrollTo(0,100) 這個方法是從0滾動到100畫素,這兩個方法都是滾動操作,但是後面這個只會從0畫素滾動到100畫素,除非修改數值才可以滾動到對應畫素位置,而我使用的則會一直向下滾動,希望不要弄混淆了。

3.當然,還有一種方法就是滑鼠移動到目標元素上方的操作了。

from selenium.webdriver.common.action_chains import ActionChains

ActionChains(self.driver).move_to_element(element).perform()
# 將滑鼠移動到目標元素上方,適用於當前頁面元素已載入完畢,但是在螢幕中看不到的情況。

相關推薦

pythonselenium關於滾動迴圈滾動操作---滾動操作

# -*- coding: utf-8 -*- # @Time : 2018/6/19 10:54 # @Author : 清心 def xh(): t = True time.sleep(1) while t: driver.ex

pythonselenium操作滾動方法彙總

UI自動化中經常會遇到元素識別不到,找不到的問題,原因有很多,比如不在iframe裡,xpath或id寫錯了等等;但有一種是在當前顯示的頁面元素不可見,拖動下拉條後元素就出來了。 在python中有幾種方法解決這種問題,簡單介紹下,給需要的人: 方法一)使用

PythonSelenium解決網頁選單按鈕

1.匯入(import) 你可以用以下方式匯入: from selenium.webdriver.support.ui import Select # 或者直接從select匯入 # from selenium.webdriver.support.select impo

QtQScrollArea的滾動自動

最近在做一個專案的時候,需要做一個log監視框。我用的是QTextEdit來顯示我的log資訊,但是發現每次我追加我的內容後QTextEdit中的滾動條沒有自動下拉,每次需要自己往下拉,很是麻煩。找了

隱藏AutoCompleteTextView框的滾動

轉載註明出處:http://blog.csdn.net/al_ways/article/details/9336873 最近做專案需要用到AutoCompleteTextView這個控制元件,而其下拉框的滾動條有點難看,於是想去掉。走了些彎路,終於弄通了。 首先先介紹一種不靠

js實現html頁面滾動到一定的程度時,某個div就固定在頂部,向上時返回原位置。

實現程式碼 <!DOCTYPE html> <html> <head>     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  

Jquery頁面滾動到div的位置時,此div就固定在頂部,向上時返回原位置

Div在網頁開啟時固定在某個位置(不一定是網頁的最頂端),當滾動條向下滾動時,頁面的頂部到達此div位置後,此div就固定在網頁的最頂部跟隨移動,當滾動條向上滾動時,頁面頂部高過此div原來的固定位置,此div就定在原位置不再跟隨滾動條移動(相當於返回原來的位置)。 網上找

jeecg3.7DictSelect數據字典選擇框的用法

clas name vcl val title tco sql 文本 sel 1、參數 屬性名 類型 描述

Vue使用mescroll.js實現刷新

pla play 中修改 隱藏 data warn none rec hda 第一步:引入js和css文件 1 <link rel="stylesheet" href="static/mescroll/mescroll.min.css"> 2 <scri

Bootstrap 學習筆記8 菜單滾動監聽

bsp http drop htm bar 下拉 overflow inf flow 代碼部分: <nav class="navbar navbar-default"> <a href="#" class="navba

Selenium入門系列5 列表元素操作

鼠標 tag pan inline driver 學習 ima imp inner 本節課程的下拉框是那種默認隱藏,當鼠標移到菜單上下拉框才顯示的。如果直接getelement會報錯,提示元素不可見: so,得先讓下拉列表顯示出來再獲取元素 用到的新知識: is_

selenium如何處理select

1.webdriver提供的select類的方法 1)匯入庫: from selenium.webdriver.support.ui import Select 2)Select類有三種方法: selector = Select(driver.find_element_by_id("id"

Java獲取資料庫的資料,獲取列表的資料, 獲取省、市、區的資料,根據上一層去控制一層

$(function() { //validateRule(); getDept(); $("select[name='deptNamee']").change(function() { var deptCode = $("select[name='deptN

使用jquery-weui製作的重新整理和滾動載入

一、前期檔案中引入weui.min.css,jquery-weui.min.css,jquery-2.1.4.js,jquery-weui.min.js,fastclick.js這些檔案。 二、html程式碼 <head> <meta charset="utf-8

Python流程控制-for迴圈(序列/字典舉例)

流程控制-for迴圈(序列) 迴圈 迴圈是一個結構,導致程式要重複一定的次數。 條件下迴圈也是如此,當然條件變為假,迴圈結束。 for迴圈: 在序列裡,使用for迴圈遍歷。 語法: for iterating_var in sqquence: statemen

python的簡單while迴圈及邏輯運算子

一、while迴圈         while 條件:            迴圈體(break, continue)

python的分支和迴圈:for 迴圈,while迴圈,三元操作符,斷言,assert關鍵字,rang()函式總結

1.python中的條件語句 例:score=int(input('請輸入一個分數'))        if 100>=score>=90:              

pythonraange函式和迴圈巢狀

range 函式 range儲存的是範圍內的連續整數的生成方式,可以遍歷可以轉換為列表 列表生成式:可以快速生成有特定規律的列表 # 列表生成式 print([i for i in range(1, 11)]) print([i*2 for i in range(1

selenium基礎:select

  我們接著講selenium元素操作:滑鼠操作和select下拉框   select下拉框 做自動化過程中,遇到下拉框的情況還是挺多的,一般分為select型別的下拉框和input型別的假下拉框。 對於input型別的下拉框,處理思路是展開下拉列表,等待選擇的元素出現,選擇下拉框

Python的分支和迴圈

分支和迴圈 一、分支結構 Python中的分之結構只有if語句,沒有switch語句. 1、if語句 a.語法: if 條件語句: 程式碼段 b.說明: if - 關鍵字 條件語句 - 任何有結果的表示式(不管結果是什麼