轻松自动化---selenium-webdriver(python) (十一)
2023-09-14 08:57:55 时间
有时候我们需要控制页面滚动条上的滚动条,但滚动条并非页面上的元素,这个时候就需要借助js是来进行操作。一般用到操作滚动条的会两个场景:
注册时的法律条文需要阅读,判断用户是否阅读的标准是:滚动条是否拉到最下方。 要操作的页面元素不在吸视范围,无法进行操作,需要拖动滚动条
其实,实现这个功能只要一行代码,但由于不懂js ,所以花了不小力气找到这种方法。
用于标识滚动条位置的代码
body onload= "document.body.scrollTop=0 " body onload= "document.body.scrollTop=100000 "
如果滚动条在最上方的话,scrollTop=0 ,那么要想使用滚动条在最可下方,可以scrollTop=100000 ,这样就可以使滚动条在最下方。
场景一
先来解决场第一个问题,法律条款是一个内嵌窗口,通过firebug工具可以定位到内嵌入窗口可以定位到元素的id ,可以通过下面的代码实现。
js="var q=document.getElementById(id).scrollTop=10000" driver.execute_script(js)
注:由于没找到合适的例子,所没验证,从参考资料来看这种写法应该没问题,如有请反馈。
场景二
有滚动条的页面到处可见,这个就比较容易找例子,我们以操作百度搜索结果页为例:
#coding=utf-8 from selenium import webdriver import time #访问百度 driver=webdriver.Firefox() driver.get("http://www.baidu.com") driver.find_element_by_id("kw").send_keys("selenium") driver.find_element_by_id("su").click() time.sleep(3) #将页面滚动条拖到底部 js="var q=document.documentElement.scrollTop=10000" driver.execute_script(js) time.sleep(3)
Selenium2+python自动化18-加载Firefox配置 前言 有小伙伴在用脚本启动浏览器时候发现原来下载的插件不见了,无法用firebug在打开的页面上继续定位页面元素,调试起来不方便 。 加载浏览器配置,需要用FirefoxProfile(profile_directory)这个类来加载, profile_directory既为浏览器配置文件的路径地址 一、遇到问题 1.在使用脚本打开浏览器时候,发现右上角原来下载的插件firebug不见了,到底去哪了呢? 2.用脚本去打开浏览器时候,其实是重新打开了一个进程,跟手动打开浏览器不是一个进程。
Selenium2+python自动化14-iframe 前言 有很多小伙伴在拿163作为登录案例的时候,发现不管怎么定位都无法定位到,到底是什么鬼呢,本篇详细介绍iframe相关的切换 以http://mail.163.com/登录页面10为案例,详细介绍switch_to_frame使用方法. 一、frame和iframe区别 Frame与Iframe两者可以实现的功能基本相同,不过Iframe比Frame具有更多的灵活性。
Selenium2+python自动化7-xpath定位 前言 在上一篇简单的介绍了用工具查看目标元素的xpath地址,工具查看比较死板,不够灵活,有时候直接复制粘贴会定位不到。这个时候就需要自己手动的去写xpath了,这一篇详细讲解xpath的一些语法。
相关文章
- mt4 python_一个使用Python自动化交易外汇MT4脚本实现「建议收藏」
- python中抛出异常_python mkdir
- python lambda表达式举例_Python中lambda表达式[通俗易懂]
- python中的if语句怎么用_iserror函数的使用方法
- python如何生成随机数_Python生成50个随机数
- python绘制条形柱状图_Python柱状图
- Python自动化测试Selenium+chrome连接HTTP代理(账密+白名单)
- python自动化高效办公第二期,带你项目实战【一】{excel数据处理、批量化生成word模板、pdf和ppt等自动化操作}
- 企业微信的聊天机器人来了!免费下载,Python自动化办公
- 聊点Python:在Django中利用zipfile,StringIO等库生成下载的文件
- 【愚公系列】2023年02月 Python工具集合-DrissionPage自动化测试集成工具
- 网络工程师学Python-10-Lambda 表达式
- Python学习之路 (五)爬虫(四)正则表示式爬去名言网详解编程语言
- 小白的Python之路 day5 python模块详解及import本质编程语言
- Python学习:12.Python字符串格式化详解编程语言
- 使用Python连接SQL Server数据库(python连接sqlserver)
- Python操作MySQL数据库的必备模块mysqlpython(mysql_python)
- Python的lambda匿名函数的简单介绍