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

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

Python selenium自动化模拟登录操作(一)_第1张图片



测试脚本:

#-*- 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 webdriver

chromedriver = '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.title

browser.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()

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


你可能感兴趣的:(Python)