Python利用splinter实现浏览器自动化操作方法
利用Splinter开发浏览器自动化操作,编写代码比较简单。
案例一:
fromsplinterimportBrowser withBrowser()asbrowser: #VisitURL url="http://www.google.com" browser.visit(url) browser.fill('q','splinter-pythonacceptancetestingforwebapplications') #Findandclickthe'search'button button=browser.find_by_name('btnG') #Interactwithelements button.click() ifbrowser.is_text_present('splinter.readthedocs.io'): print("Yes,theofficialwebsitewasfound!") else: print("No,itwasn'tfound...WeneedtoimproveourSEOtechniques")
第1行是导入Browser。
Browser是整个测试的基础,你可以把它理解为一个浏览器。
第3行初始化一个Browser,不加参数的话默认是firefox。
第4行是命令browser打开"http://google.com"。
第5行是命令browser使用‘splinter-pythonacceptancetestingforwebapplications'填充页面中‘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 importtime fromsplinterimportBrowser defsplinter(url): browser=Browser('chrome') #login126emailwebsize browser.visit(url) #waitwebelementloading time.sleep(5) #fillinaccountandpassword browser.find_by_id('idInput').fill('xxxxxx') browser.find_by_id('pwdInput').fill('xxxxx') #clickthebuttonoflogin browser.find_by_id('loginBtn').click() time.sleep(8) #closethewindowofbrower browser.quit() if__name__=='__main__': websize3='http://www.126.com' splinter(websize3)
以上这篇Python利用splinter实现浏览器自动化操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。