selenium从2.0开始集成了webdriver的API,提供了更简单,更简洁的编程接口。selenium webdriver的目标是提供一个设计良好的面向对象的API,提供了更好的支持进行web-app测试。下面介绍如何使用python调用webdriver框架对浏览器进行一系列的操作。

第一步是打开浏览器

使用webdriver.Chrome()打开谷歌浏览器,如果要指定其他浏览器,比如要使用Firefox或者IE浏览器,更换浏览器名称就可以了

driver = webdriver.Chrome() //打开Chrome浏览器

driver = webdriver.Firefox() //打开Firefox浏览器

driver = webdriver.Ie() //打开IE浏览器

第二步操作是打开页面

使用driver.get(url)方法来打开网页链接,例如脚本中打开百度首页

driver.get("http://www.baidu.com")

相关推荐:《python视频教程》

第三步操控浏览器

接下来是print(driver.title),使用driver.title获取当前页面的title,title就是在浏览器tab上显示的内容,例如百度首页的标题是“百度一下,你就知道”

浏览器前进后退

在当前页面打开一个新的链接后,如果想回退到前一个页面,使用如下driver.back(),相当于点击了浏览器的后退按钮

和back操作对应的是浏览器前进操作driver.forward(),相当于点击了浏览器的前进按钮

driver.back() //回到上一个页面

driver.forward() //切换到下一个页面

浏览器运行后,如果页面没有最大化,可以调用driver.maximize_window()将浏览器最大化,相当于点击了页面右上角的最大化按钮

driver.maximize_window() //浏览器窗口最大化

driver.set_window_size(800, 720) //设置窗口大小为800*720

浏览器截屏操作,参数是截屏的图片保存路径:

driver.get_screenshot_as_file("D:/data/test.png") 屏幕截图保存为***

driver.refresh() //重新加载页面,页面刷新

在测试脚本运行完后,一般会在最后关闭浏览器,有两种方法关闭浏览器,close()方法用于关闭当前页面,quit()方法关闭所有和当前测试有关的浏览器窗口

driver.close() //关闭当前页面

driver.quit() //关闭所有由当前测试脚本打开的页面

用python操控浏览器的三种方式:

第一种:selenium导入浏览器驱动,用get方法打开浏览器,例如:import time

from selenium import webdriver

def mac():

driver = webdriver.Firefox()

driver.implicitly_wait(5)

driver.get("http://huazhu.gag.com/mis/main.do")

第二种:通过导入python的标准库webbrowser打开浏览器,例如:>>> import webbrowser

>>> webbrowser.open("C:\\Program Files\\Internet Explorer\\iexplore.exe")

True

>>> webbrowser.open("C:\\Program Files\\Internet Explorer\\iexplore.exe")

True

第三种:使用Splinter模块模块

一、Splinter的安装

Splinter的使用必修依靠Cython、lxml、selenium这三个软件。所以,安装前请提前安装

Cython、lxml、selenium。以下给出链接地址:

1)http://download.csdn.net/detail/feisan/4301293

2)http://code.google.com/p/pythonxy/wiki/AdditionalPlugins#Installation_no

3)http://pypi.python.org/pypi/selenium/2.25.0#downloads

4)http://splinter.cobrateam.info/

二、Splinter的使用

这里,我给出自动登录126邮箱的案例。难点是要找到页面的账户、密码、登录的页面元素,这里需要查看126邮箱登录页面的源码,才能找到相关控件的id.

例如:输入密码,密码的文本控件id是pwdInput.可以使用browser.find_by_id()方法定位到密码的文本框,

接着使用fill()方法,填写密码。至于模拟点击按钮,也是要先找到按钮控件的id,然后使用click()方法。#coding=utf-8

import time

from splinter import Browser

def splinter(url):

browser = Browser()

#login 126 email websize

browser.visit(url)

#wait web element loading

time.sleep(5)

#fill in account and password

browser.find_by_id('idInput').fill('xxxxxx')

browser.find_by_id('pwdInput').fill('xxxxx')

#click the button of login

browser.find_by_id('loginBtn').click()

time.sleep(8)

#close the window of brower

browser.quit()

if __name__ == '__main__':

websize3 ='http://www.126.com'

splinter(websize3)

以上就是如何用python控制浏览器的详细内容,更多请关注php中文网其它相关文章!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

怎么用python启动谷歌浏览器_如何用python控制浏览器相关推荐

  1. python怎么读_如何用Python读写文件

    前面我们已经介绍了很多Python相关的基础知识,大家是不是对Python已经有了进一步认识了呢?作为人工智能时代的热门编程语言,开始接触并学习Python的孩子越来越多,家长们都不想让自己的孩子落于 ...

  2. python旅游推荐系统_如何用Python搭建一个简单的推荐系统?

    推荐系统的相关知识我们已在前文中提到,在这篇文章中,我们会介绍如何用Python来搭建一个简单的推荐系统. 本文使用的数据集是MovieLens数据集,该数据集由明尼苏达大学的Grouplens研究小 ...

  3. 用python开启相机_如何用Python打开realsenseD435相机并获取相机参数

    如何用Python打开realsenseD435相机 import pyrealsense2 as rs import numpy as np import cv2 if __name__ == &q ...

  4. python读取二进制文件_如何用python读取二进制文件?

    我发现用Python读取二进制文件特别困难.你能帮我一把吗?我需要读取这个文件,在Fortran 90中,该文件很容易被int*4 n_particles, n_groups real*4 group ...

  5. python md5加密_如何用python“优雅”的调用有道翻译?

    前言 其实在以前就盯上有道翻译了的,但是由于时间问题一直没有研究(我的骚操作还在后面,记得关注),本文主要讲解如何用python调用有道翻译,讲解这个爬虫与有道翻译的js"斗争"的 ...

  6. python求平均值_如何用python求平均值

    学习了Python相关数据类型,函数的知识后,利用字符串的分割实现了输入任意多个数据,并计算其平均值的小程序.思路是接收输入的字符串,以空格为分隔符,将分割的数据存入列表(lst1)中,将lst1中的 ...

  7. python小助手_如何用python写个人专属群聊提醒小助手?

    前言 大家还记得教会父母玩微信是什么时候吗?父母学会后,我们的生活就发生了「质」的变化,父母也许会吐槽你的微信头像不好,要你换一个头像. 最近 pk哥 又被母后大人吐槽了,原因是亲戚微信群里某个亲戚生 ...

  8. 如何用python计算圆周率_如何用python计算圆周率?

    如何用python计算圆周率? python计算圆周率的方法: 圆周率没有精确的计算公式,所以只能用近似的方式计算它的近似值. 我们运用蒙特卡罗方法,思路很简单,在下面图形中随机抛置大量的点, 计算落 ...

  9. python做网站开发_如何用Python做网站开发

    很多人想要用Python做网站开发,但是又不知从何入手,接下来小编介绍用Python做网站开发需要学习哪些知识,又应该以什么样的顺序来学. 第一步:HTML(超文本标记语言)是网页的核心,学好HTML ...

最新文章

  1. rpm 安装 忽略依赖_解决RPM包依赖关系
  2. Codeforces 396C
  3. 第14章 学习scikit-learn文档
  4. 使用C语言--判断素数的两种方法
  5. android切图双数,浅谈网页设计切图规范
  6. 数学与计算机学院女生节标语,3.7女生节标语
  7. java 图片 白边,如何在Java中自动裁剪图像白色边框?
  8. 在计算器中如何计算以2为底3的对数 log 2 3
  9. 什么是REST风格? 什么是RESTFUL?(一篇全读懂)
  10. 水平放滑轮组计算机械效率,滑轮组机械效率     王凤霞
  11. java Virtual Machine Launcher
  12. 阶段二第一部分:第2章 Nginx进阶与实战
  13. 微信小程序和微信H5有什么区别?
  14. 怎么提升效率?衡量指标又是是什么?
  15. CS224N Assignment 1: Exploring Word Vectors (25 Points)
  16. 组合导航原理剖析(四):惯性和GNSS器件选型与误差来源
  17. 如何快速打造一个高权重的短视频账号?短视频运营推广日记(2)
  18. mysql错误代码145_Mysql中出现errno:145的解决方法
  19. 2023年MathorCup数模D题赛题解题思路
  20. python绑定内核_进程绑定CPU

热门文章

  1. 这可能是用 Markdown 写微信公众号的终极解决方案
  2. 如何从淘客小白变成淘客大牛
  3. Hudi学习一:Hudi简介
  4. 3D基础--Vertex
  5. 全新一代云计价i20,助力工程总承包计价规范实施
  6. 前端框架iviewui使用示例之菜单+多Tab页布局
  7. 电赛OpenMV巡线巡迹
  8. 笔记 - 概率论:随机变量与独立同分布
  9. 链脉王亮:如何用电子名片玩转微信营销
  10. 高合汽车引发行业“核裂变”,数字生命体高合HiPhi Z正式发布