Python selenium自动化模拟登录操作(一)

来源:互联网 发布:软件股份股票行情 编辑:程序博客网 时间:2024/06/06 20:37

Selenium Python 提供了一个简单的API 便于我们使用 Selenium WebDriver编写 功能/验收测试。 通过Selenium Python的API,你可以直观地使用所有的 Selenium WebDriver 功能 。Selenium Python提供了一个很方便的接口来驱动 Selenium WebDriver , 例如Firefox、Chrome、Ie,以及Remote,目前支持的python版本有2.7或3.2以上.


selenium 可以自动化测试、抢票、爬虫等工作。初次了解,现在模拟登录百度——即自动打开浏览器、自动输入账号密码并提交进行登录。


测试环境: 

python 3.5.0 

selenium 3.8.0 

chromedriver 2.33(chromedriver_win32.zip)

chrome浏览器  63.0.3239.84(正式版本) (64 位)


selenium 最新版安装:

pip install selenium

chromedriver 下载地址:

https://sites.google.com/a/chromium.org/chromedriver/downloads


在测试过程中,会遇到如下错误:

selenium.common.exceptions.WebDriverException: Message: Service xxxxxx unexpectedly exited. Status code was: 0


解决方法:将 chromedriver.exe 和 谷歌浏览器(Google Chrome)放到同一个目录


打开百度登录页面,确定各个输入文本框或按钮的id,如下图的用户名。同理找出密码及登录按钮的ID




测试脚本:

#-*- coding: utf-8 -*-# python 3.5.0 + selenium 3.8.0 + chromedriver 2.33(chromedriver_win32.zip)# https://sites.google.com/a/chromium.org/chromedriver/downloads# chromedriver.exe 和 [Google Chrome] 放在同一文件夹from selenium import webdriverchromedriver = 'D:/Python35/selenium/webdriver/chromedriver.exe'geturl = 'https://passport.baidu.com/v2/?login'username = "用户名"password = "密码"browser = webdriver.Chrome(executable_path=chromedriver)browser.get(geturl)assert "登录百度帐号" in browser.titlebrowser.find_element_by_id("TANGRAM__PSP_3__userName").send_keys(username)browser.find_element_by_id("TANGRAM__PSP_3__password").send_keys(password)browser.find_element_by_id("TANGRAM__PSP_3__submit").click()#browser.implicitly_wait(10)#browser.quit()

若是登录几次失败后,则需要验证码了。下次再解决。


原创粉丝点击