python 浏览器自动化_Python利用splinter实现浏览器自动化操作方法

利用Splinter开发浏览器自动化操作,编写代码比较简单。

案例一:

from splinter import Browser

with Browser() as browser:

# Visit URL

url = "http://www.google.com"

browser.visit(url)

browser.fill('q', 'splinter - python acceptance testing for web applications')

# Find and click the 'search' button

button = browser.find_by_name('btnG')

# Interact with elements

button.click()

if browser.is_text_present('splinter.readthedocs.io'):

print("Yes, the official website was found!")

else:

print("No, it wasn't found... We need to improve our SEO techniques")

第1行是导入Browser。

Browser是整个测试的基础,你可以把它理解为一个浏览器。

第3行初始化一个Browser,不加参数的话默认是firefox。

第4行是命令browser打开"http://google.com"。

第5行是命令browser使用‘splinter - python acceptance testing for web applications'填充页面中‘name'是‘q'的元素。在Google的首页中,就是那个搜索框。大家可以看一下Google首页的代码。

第6行是两个命令。第一个是找到‘name'属性为‘btnG'的按钮,第二个是click()也就是点击这个按钮。这个按钮就是Google的搜索按钮。

第8行是判断页面中是否有‘splinter.cobrateam.info'这个字符串,因为上一步点击了搜索按钮,所以这里搜索的就是跳转之后的页面。当然,大家不用担心网速慢会判断出错,splinter会等页面载入完成再进行下一步的操作。

第13行是删除browser。

案例二:

这里,我给出自动登录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('chrome')

#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利用splinter实现浏览器自动化操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值