webdriver提供了操作浏览器的前进和后退的方法,但是对于浏览器公东条并没有提供相应的操作方法。于是就需要借助JavaScript来控制浏览器的滚动条。webdriver提供了execute_sript()方法来执行JavaScript代码。

一般必须使用滚动条的场景是:注册时的法律文件条文阅读。判断用户是否阅读完的标准是:滚动条是否拉倒页面底部。为了使操作更接近用户行为也会使用滚动条,例如用户操作的元素在页面的第二屏,一般用户不会对看不到的元素进行操作,那么需要现将滚动条拖动到页面的第二屏在进行操作。

window.scrollTo()方法用于设置浏览器窗口滚动条的水平和垂直位置。方法的第一个参数表示水平的左间距,第二个参数表示垂直的上边距。其代码如下:

 from selenium import webdriver
from time import sleep
import time
# 访问百度
driver = webdriver.Firefox ()
driver.get("http://www.baidu.com")
# 控制浏览器大小
driver.set_window_size(600,600)
# 收索
driver.find_element_by_id("kw").send_keys("你好")
driver.find_element_by_id("su").click()
time.sleep(2) # 通过javascript设置浏览器窗口的滚动条 注:window.scrollTo(水平滚动条的距离,垂直滚动条的距离)
js = "window.scrollTo(450,0);"
driver.execute_script(js)
time.sleep(5) driver.quit ()

通过浏览器打开百度进行收索,并且提前通过set_window_size()方法选择浏览器窗口设置为固定宽高显示,目的是让窗口出现水平和垂直滚动条。并且JavaScript的作用不仅仅体现在浏览器滚动条的操作上,还可以用它向页面红的text文本框输入内容。

虽然可以通过id的方式将其进行定位,却不能通过send_keys()向文本框中输入文本信息。这种情况下,就需要借助JavaScript代码完成输入。

最新文章

  1. Codeforces Round #380(div 2)
  2. ubuntu在命令行新建用户后无法进入桌面的原因
  3. powerdesinger中建立一个表后,出现Existence of index的警告
  4. Deep Learning 16:用自编码器对数据进行降维_读论文“Reducing the Dimensionality of Data with Neural Networks”的笔记
  5. Glossary of Terms in the JavaTM platform --reference
  6. Linux下如何查看高CPU占用率线程 LINUX CPU利用率计算(转)
  7. IOS第三方数据库--FMDB
  8. easyUI 创建有复选框的table.datagrid
  9. Mysql基础教程-Mysql的字符集查看与修改
  10. 关于Object.keys()和for in的区别
  11. stm32 HAL库编程驱动控制文件<stm32f1xx_hal_conf.h>的使能方法
  12. LuoGu P2420 让我们异或吧
  13. Archlinux下vmware-workstation中安装rhel5并通过桥接模式(bridge)上网
  14. Android 5.0 Lollipop SDK下载地址(PASS)
  15. Chrome-Adobe Flash 无法正常使用
  16. 经典傅里叶算法小集合 附完整c代码
  17. git分支在团队中的使用
  18. fastjson的@JSONField注解的一点问题
  19. ballerina 学习十六 错误&&异常处理
  20. 给apk签名

热门文章

  1. SVN服务器搭建教程
  2. codec can't decode byte 0xe6 in position 0: ordinal not in range
  3. Adding In-App Purchase to your iOS and OS X Applications
  4. 3DMAX 多维材质及对应的UVW展开,UVW贴图
  5. Mysql相关函数使用和总结(liet、right、substring、substring_index)
  6. linux查找工具(find,locate,whrers)
  7. JQuery Easyui/TopJUI 基本树形表格的创建
  8. Javascript 给table动态增、删除行
  9. JS 时间格式为/Date(1332919782070)/ 转化为正常的格式
  10. TaskFactory单例模式利用xml