Home  >  Article  >  Backend Development  >  How to control the browser with python

How to control the browser with python

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-06-18 13:31:2113710browse

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

How to control the browser with python

第一步是打开浏览器

使用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)

The above is the detailed content of How to control the browser with python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:How to debug python codeNext article:How to debug python code