利用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实现浏览器自动化操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
本文向大家介绍C# 利用Selenium实现浏览器自动化操作的示例代码,包括了C# 利用Selenium实现浏览器自动化操作的示例代码的使用技巧和注意事项,需要的朋友参考一下 概述 Selenium是一款免费的分布式的自动化测试工具,支持多种开发语言,无论是C、 java、ruby、python、或是C# ,你都可以通过selenium完成自动化测试。本文以一个简单的小例子,简述C# 利用Sele
问题内容: 我正在尝试使用用于Splinter的Firefox驱动程序来测试一些响应式设计。 自然,这需要我调整浏览器窗口的大小。在文档中,我根本找不到有关浏览器大小调整的任何信息。 我怎样才能做到这一点? 问题答案: 只是这样做: Splinter API似乎不直接支持此功能- 至少目前还不支持。通用API文档以及每个特定浏览器驱动程序的文档目前都未提及与窗口大小有关的任何内容。但是,一个看似未
本文向大家介绍PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例,包括了PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例的使用技巧和注意事项,需要的朋友参考一下 概要 应同学邀请,演示如何使用 PyQt5 内嵌浏览器浏览网页,并注入 Javascript 脚本实现自动化操作。 下面测试的是一个廉价机票预订网站(http://www.flyscoot.c
本文向大家介绍C# 模拟浏览器并自动操作的实例代码,包括了C# 模拟浏览器并自动操作的实例代码的使用技巧和注意事项,需要的朋友参考一下 本文主要讲解通过WebBrowser控件打开浏览页面,并操作页面元素实现自动搜索功能,仅供学习分享使用,如有不足之处,还请指正。 涉及知识点 WebBrowser:用于在WinForm窗体中,模拟浏览器,打开并导航网页。 HtmlDocument:表示一个Html
本文向大家介绍js操作浏览器的参数方法,包括了js操作浏览器的参数方法的使用技巧和注意事项,需要的朋友参考一下 实例如下: 以上这篇js操作浏览器的参数方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
我正在使用java和无头chrome自动化selenium自动化工具中的一个应用程序。 我的应用程序在首次登录计算机或新浏览器(chrome/mozila/IE)时需要OTP验证。一旦在机器或浏览器上验证了OTP,从下次开始它将不会请求输入OTP。登录就足够了。 由于我正在自动化的无头浏览器,我想我可以通过第一次在控制台中输入OTP来提供OTP并进行验证,并且从下一次开始它可能不会要求OTP。 但