小编给大家分享一下硒+ python如何实现自动化登录的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
硒python提供了一个简单的API便于我们使用硒WebDriver编写功能/验收测试。通过硒python的API,你可以直观地使用所有的硒WebDriver功能.Selenium python提供了一个很方便的接口来驱动硒WebDriver,例如Firefox、Chrome,即以及远程,目前支持的python版本有2.7或3.2以上。
硒可以自动化测试,抢票,爬虫等工作。初次了解,现在模拟登录百度——即自动打开浏览器,自动输入账号密码并提交进行登录。
工作需要实现一个微博自动登录的操作,在网上差了一些资料,决定使用硒+ python实现
硒是一个网络的自动化测试工具,主流一般配合java或者python使用,我这里使用的是python,可支持的浏览器基本包括所有主流浏览器IE,火狐,谷歌Chrome。
安装过程不再赘述,但是后续使用时,发现很多报错与版本兼容性有关,因此这里列出可用的版本搭配:
python2.7 selenium3.0.2
火狐驱动geckodriver.exe 版本v0.14.0 (使用高版本会出现异常报错)
火狐浏览器52.0.2(32位),(版本太低或53的最新版本,都会报错)
#=utf - 8编码 得到selenium import  webdriver import time import 操作系统 #模拟登陆weibo def getCookies(微博): “““才能,获取Cookies “““ 时间=cookies 才能;[] 时间=driver 才能;webdriver.Firefox () time . sleep(3),才能,#一睡下,否则有可能报的错 driver.get才能(“https://weibo.com/login/") #才能cur_path=os.getcwd () # fileSuc =,才能打开(cur_path +“/login.html",, & # 39; w # 39;) #才能fileSuc.write (driver.page_source) #才能用户名,密码, elem_user 才能=,driver.find_element_by_xpath(& # 39;//输入[@ id=發oginname"] & # 39;), elem_user.send_keys才能(& # 39;* * * * * @163.com& # 39;), #浏览器版本不匹配的时候这里可能报的错 elem_pwd 才能=,driver.find_element_by_xpath(& # 39;//输入[@type=皃assword"] & # 39;) elem_pwd.send_keys才能(& # 39;* * * * * & # 39;) ,, commit 才能=,driver.find_element_by_xpath (& # 39;//[@node-type=皊ubmitBtn"] & # 39;) commit.click才能() time . sleep(3)才能 # fileSuc1 =,才能打开(cur_path +“/weibo2.html",, & # 39; w # 39;) #才能fileSuc1.write (driver.page_source) #才能print driver.title #才能登录成功后获取饼干 cookie 才能=,{} if 才能“微博——随时随地发现新鲜事“,拷贝driver.title: ,,,for elem 拷贝driver.get_cookies (): ,,,,,饼干(elem [“name"]],=, elem (“value") ,,,if len(饼干),祝辞,0: ,,,,,logger.warning (“Get Cookie 成功:% s", %,账户) ,,,,,cookies.append(饼干) ,,,,,继续 其他的才能: ,,,logger.warning (“Get Cookie 失败:% s !“, %,账户) ,, driver.close才能(), driver.quit才能(), return 才能;饼干 时间=cookies getCookies (myWeiBo) print 饼干 logger.warning (“Get  Cookies 完成! (,Num: % d)“, %, len(饼干))
find_element_by_xpath用来定位控件的位置,定位不到的时候,可以把网页的代码保存下来看看是否有对应的控件,如果是安全控件或者登录在js里实现,这种方法是获取不到的。
另外还有find_element_by_name, find_element_by_id的方法,但是我使用的时候出现找不到情况,怀疑是浏览器版本不匹配的原因。
以上是“硒+ python如何实现自动化登录的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!