`

python中selenium 滚动条下拉 操作

阅读更多
方法一)使用js脚本直接操作,方法如下:

js="var q=document.getElementById('id').scrollTop=10000"
driver.execute_script(js)
或:

js="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)


这里的id为滚动条的id,但js中没有xpath的方法,所以滚动条没有id的网页此方法不适用

方法二)使用js脚本拖动到提定地方

target = driver.find_element_by_id("id_keypair")
driver.execute_script("arguments[0].scrollIntoView();", target) #拖动到可见的元素去
这个方法可以将滚动条拖动到需要显示的元素位置,此方法用途比较广,可以使用

方法三)根据页面显示进行变通,发送tab键

在本例中的页面中,密码是输入框,正常手工操作时,可以通过tab键会切换到密码框中,所以根据此思路,在python中也可以发送tab键来切换,使元素显示

from selenium.webdriver.common.keys import Keys
driver.find_element_by_id("id_login_method_0").send_keys(Keys.TAB)




====================================================
#将滚动条移动到页面的底部
js="var q=document.documentElement.scrollTop=100000" 
driver.execute_script(js) 
time.sleep(3) 
#将滚动条移动到页面的顶部 
js="var q=document.documentElement.scrollTop=0" 
driver.execute_script(js) 
time.sleep(3) 
#若要对页面中的内嵌窗口中的滚动条进行操作,要先定位到该内嵌窗口,在进行滚动条操作
js="var q=document.getElementById('id').scrollTop=100000"
driver.execute_script(js)
time.sleep(3)

这个据说对IE和firefox都奏效,但是对chrome不行!


无需定位,直接一点一点下拉滚动条(firefox、chrome绝对可行)
length=1000
for i in range(0,2):
    js="var q=document.body.scrollTop="+str(length) 
    driver.execute_script(js) 
    time.sleep(3)
    length+=length


分享到:
评论

相关推荐

    python中selenium操作下拉滚动条的几种方法汇总

    在python中有几种方法解决这种问题,简单介绍下,给需要的人: 方法一)使用js脚本直接操作,方法如下: js=var q=document.getElementById('id').scrollTop=10000 driver.execute_script(js) 或: js=var q=...

    Selenium Python Bindings 2017年 新版 原版

    Selenium 提供了对 UI 元素的支持,如滚动条: ```python driver.execute_script("window.scrollBy(0, 1000)") ``` **7.13 Color 支持** Selenium 还支持颜色识别: ```python color = element.value_of_css_...

    Python3+Selenium3 下拉选处理

    在Python3环境中,结合Selenium3,我们可以处理各种网页元素,其中包括下拉选择框(Dropdown)。本教程将重点讲解如何使用Python3和Selenium3来处理下拉选项。 首先,确保已经正确地安装了Python3、Selenium库以及...

    selenium-python.pdf

    Selenium Python bindings 提供了一个简洁的 API 来控制 Selenium WebDriver 的操作。WebDriver 是一个独立的应用程序,用于与浏览器交互,使得我们可以编写自动化测试脚本来模拟用户行为。 **1.2 下载 Python 绑定...

    selenium+python自动化测试代码

    Selenium提供了丰富的API,可以模拟点击、填写表单、选择下拉菜单、滚动页面、处理JavaScript事件等操作。同时,结合断言库如`unittest`或`pytest`,可以确保测试结果的准确性。 **PycharmProjects** PyCharm是一...

    python+selenium 定位到元素,无法点击的解决方法

    1. **尝试下拉一段滚动条,让按钮可见** 当目标元素不在当前视口内时,可以通过执行JavaScript代码来滚动页面,使元素进入可视区域。示例代码如下: ```python js = "window.scrollTo(100, 450)" # 将页面滚动到...

    Python selenium爬取微博数据代码实例

    接着调用`scoll_down()`函数模拟滚动条下拉到底部,确保所有微博内容都能被加载出来。 ##### 4. 滚动至页面底部 ```python def scoll_down(): html_page = driver.find_element_by_tag_name('html') for i in ...

    Selenium课程体系介绍.docx

    - **多窗口与iframe处理**: 在实际应用中,很多网站包含多个窗口或 iframe,学习如何在 Selenium 中切换和操作这些窗口或 iframe 是非常重要的。 - **JavaScript执行**: 有时候需要执行一些 JavaScript 脚本来完成...

    课堂笔记.zip

    7. **滚动条的操作**:"selenium课堂笔记_滚动条的操作.py"可能讲解了如何滚动页面,例如使用execute_script()方法执行自定义的JavaScript代码来实现滚动。 在实际的课堂学习中,除了理论知识外,学生还会通过编写...

    selenium定义.docx

    8. **滚动条操作**: 使用`execute_script('window.scrollTo(x, y)')`滚动到页面上的特定位置。 9. **其他常见控件**: 对于如按钮、复选框等控件,Selenium提供了相应的API,如`click()`点击按钮,`is_selected...

    Python获取统计自己的qq群成员信息的方法

    首先说明一下需要使用的工具以及技术:python3 + selenium selenium安装方法:pip install selenium 前提:获取自己的qq群成员信息,自己必须是群主或者管理员,然后通过管理页面进入到成员高级管理网页端,就可以对...

    selenium-amazon

    综上所述,“selenium-amazon”项目利用了Selenium的Python API来实现对亚马逊网站的自动化测试,涵盖了元素定位、用户操作模拟、异常处理、测试验证等多个方面,为确保网站功能的正确性和稳定性提供了有力支持。...

    动态爬取豆瓣电影中“更多”电影详情数据

    4. **动态加载数据**:由于网页内容可能随滚动条下拉而动态加载,我们需要模拟滚动操作。通常,这需要分析网页的加载机制,可能涉及到JavaScript事件监听和AJAX请求。在某些情况下,可以使用Selenium等工具来模拟...

Global site tag (gtag.js) - Google Analytics