Python3 Selenium WebDriver网页的前进、后退、刷新、最大化、获取窗口位置、设置窗口大小、获取页面title、获取网页源码、获取Url等基本操作

通过selenium webdriver操作网页前进、后退、刷新、最大化、获取窗口位置、设置窗口大小、获取页面title、获取网页源码、获取Url等基本操作:

  1. from selenium import webdriver
  2. #打开浏览器
  3. driver = webdriver.Ie(executable_path = "e:\\IEDriverServer")
  4. #输入网址
  5. driver.get("http://wenku.baidu.com")
  6. #向后退
  7. driver.back()
  8. #向前进
  9. driver.forward()
  10. #刷新页面
  11. driver.refresh()
  12. #设置超时等待的时间,超过不再等待
  13. driver.set_page_load_timeout(2)
  14.  
  15. #捕获超时异常
  16. try:
  17. driver.get("http://www.sohu.com")
  18. except Exception as e:
  19. print(e)
  20.  
  21. #窗口最大化
  22. driver.maximize_window()
  23. #获取坐标位置{'y': -8, 'x': 1672}
  24. driver.get_window_position()
  25. #判断使用的浏览器u'internet explorer'
  26. driver.name
  27. #设置浏览器坐标
  28. driver.set_window_position(y=200, x=400)
  29. #y:指的上下走,屏幕最顶部y=0 ;x:指的左右走 ,最左边x=0,不再当前屏幕的会出现负数
  30. #浏览器最大化的状态再去设置坐标就不起作用了
  31.  
  32. driver.get_window_position()['x'] #获取x轴的位置
  33. driver.get_window_position()['y'] #获取y轴的位置
  34.  
  35. #获取浏览器的窗体大小{'width': 160, 'height': 32}
  36. driver.get_window_size()
  37. #获取浏览器的宽度
  38. driver.get_window_size()['width']
  39. #获取浏览器的高度
  40. driver.get_window_size()['height']
  41. #设置浏览器的窗体大小
  42. driver.set_window_size(100,200)
  43.  
  44. print(driver.title #获取页面title,可以用于做断言看打开的页面对不对搜狐)
  45.  
  46. assert u"搜狐" == driver.title #断言标题是否正确
  47. assert u"搜狐2" == driver.title #断言标题出错
  48. Traceback (most recent call last):
  49. File "<stdin>", line 1, in <module>
  50. AssertionError
  51.  
  52. driver.page_source() #获取网页源码,返回的其实是unicode字符串
  53.  
  54. #抓取页面源码时,webdriver可以触犯页面上的js动态数据,但是它的缺点是比较慢;之前讲过的
  55.  
  56. #request抓取源码快,但只适用于静态页面,无法抓取js的动态页面内容
  57. #抓取源码是非常重要的,可以随意操作
  58. driver = webdriver.Ie(executable_path = "e:\\IEDriverServer")
  59. driver.get("http://www.iciba.com")
  60. driver.page_source[:50] #获取第50行的页面源码
  61. u'<html><head><style></style><avalon class="avalonHi'
  62. u"热门词汇" in driver.page_source #判断指定字段是不是在页面源码中存在True
  63.  
  64. #将页面源码转码成中文,加ignore避免无法识别的生僻字报错
  65. driver.page_source.encode("gbk","ignore")
  66.  
  67. #将页面源码转成html文件
  68. html=driver.page_source.encode("gbk","ignore")
  69.  
  70. #获取当前页面的url u'http://www.iciba.com/
  71. driver.current_url

Python3 Selenium WebDriver网页的前进、后退、刷新、最大化、获取窗口位置、设置窗口大小、获取页面title、获取网页源码、获取Url等基本操作的更多相关文章

  1. Selenium WebDriver-网页的前进、后退、刷新、最大化、获取窗口位置、设置窗口大小、获取页面title、获取网页源码、获取Url等基本操作

    通过selenium webdriver操作网页前进.后退.刷新.最大化.获取窗口位置.设置窗口大小.获取页面title.获取网页源码.获取Url等基本操作 from selenium import ...

  2. C++、VC++、MFC网页自动注册、登陆、发帖、留言,QQ注册、QQ申请器源码、注册邮箱源码、自动发帖源码

    C++.VC++.MFC网页自动注册.登陆.发帖.留言,QQ注册.QQ申请器源码.注册邮箱源码.自动发帖源码   参考资料: 自动登录yahoo邮箱http://blog.csdn.net/suisu ...

  3. python3 selenium webdriver 元素定位xpath定位骚操作

    源文http://www.cnblogs.com/qingchunjun/p/4208159.html By.xpath() 这个方法是非常强大的元素查找方式,使用这种方法几乎可以定位到页面上的任意元 ...

  4. selenium常用的API(三)获取网页title、html源码

    获取网页title 获取页面title的方法可以直接用driver.title获取到,然后可以把获取到的结果用做断言. #encoding=utf-8 from selenium import web ...

  5. selenium webdriver 如何实现将浏览器滚动条移动到某个位置

    说明: 在做selenium webdriver  在做UI 自动化时,有些页面时使用懒加载的形式显示页面图片,如果在不向下移动滚动条时,获取到的图片会是网站的默认图片和真实的图片不相符. 所以研究了 ...

  6. Selenium webdriver 截图 太长截不全的问题

    Selenium webdriver 截图 太长截不全的问题 1.环境 selenium webdriver.net 2.46.0.0 + firefox 37.0.1 + win 8.1 2.问题 ...

  7. 【转载】Selenium WebDriver的简单操作说明

    转载自:http://blog.csdn.net/xiao190128/article/details/49784121 1.打开一个测试浏览器 对浏览器进行操作首先需要打开一个浏览器,接下来才能对浏 ...

  8. Selenium WebDriver的简单操作说明

    [From] http://blog.csdn.net/xiao190128/article/details/49784121 1.打开一个测试浏览器 对浏览器进行操作首先需要打开一个浏览器,接下来才 ...

  9. selenium expected_conditions 源码学习记录

    #expected_conditions模块收集了一系列的场景判断方法 #源码地址 # https://seleniumhq.github.io/selenium/docs/api/py/_modul ...

随机推荐

  1. 求全排列Permutation

    是在教材(<计算机算法设计与分析(第4版)>王晓东 编著)上看见的关于求全排列的算法: 我们可以看一下书上怎么写的: #include<bits/stdc++.h> using ...

  2. java---rce

    http://foxglovesecurity.com/2015/11/06/what-do-weblogic-websphere-jboss-jenkins-opennms-and-your-app ...

  3. 2018/03/23 每日一个Linux命令 之 sed

    官方定义: Linux sed命令是利用script来处理文本文件. sed可依照script的指令,来处理.编辑文本文件. Sed主要用来自动编辑一个或多个文件:简化对文件的反复操作:编写转换程序等 ...

  4. elasticsearch的重启

    没有重启的操作,只有关闭了再启动的操作. ps -ef | grep elastic e表示全部的进程,f表示展示进程间的相关关系,如父子进程. 然后找到你启动es的那个账号,不是root,一般是新建 ...

  5. less语言特性(一) —— 变量

    近两年移动市场不断扩大,HTML5也逐渐升温,为了使我们前端工作更有效率,各种框架层出不穷,本章将介绍LESSCSS框架.LESSCSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS ...

  6. 帝国cms栏目别名怎样调用?栏目名称太短了

    在用帝国cms创建栏目时一般会填写栏目名称(较短)和栏目别名(为空则与栏目名相同),栏目别名可以设置长一些作为栏目标题,可是如何调用帝国cms栏目别名呢?默认的模板标题调用是<title> ...

  7. 四、Mosquitto 高级应用之用户配置

    本文将讲解 Mosquitto 用户机制.如果还没有搭建 Mosquitto 服务的可以参考我的另外两篇文章<< 一.Mosquitto 介绍&安装>> << ...

  8. PAT 1097 Deduplication on a Linked List[比较]

    1097 Deduplication on a Linked List(25 分) Given a singly linked list L with integer keys, you are su ...

  9. racle修改字段类型时报"要更改的列必须为空"处理方法

    执行以下语句报"要修改数据类型,则要更改的列必须为空"      alter table 表名 modify (目标字段 varchar2(100)); 解决步骤: 第一步,在表中 ...

  10. jquery.lazyload 使用

    1.引用js <script src="jquery.js" type="text/javascript"></script> < ...