硒+ python如何实现自动化登录的方法

  介绍

小编给大家分享一下硒+ 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如何实现自动化登录的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

硒+ python如何实现自动化登录的方法