安装selenium模块
windows系统在控制台下输入下面代码执行
pip install selenium
测试如图:
'''
文件名:L13.py
作者:小饭团
创建时间:2019年1月8日03:31:44
文件描述:登录百度
'''
#-*- coding:UTF-8 -*-
#导入模块
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
import time
# 无界面模式
def ChromeDriverNOBrowser():
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
#64位系统的浏览器一定要加上下面的这句话
chrome_options.add_argument('--no-sandbox')
driverChrome = webdriver.Chrome(chrome_options=chrome_options)
'''
driverChrome.get('http://www.baidu.com')
print(driverChrome.title)
'''
return driverChrome
# 有界面的就简单了
def ChromeDriverBrowser():
chrome_options = Options()
#64位系统的浏览器一定要加上下面的这句话
chrome_options.add_argument('--no-sandbox')
driverChrome = webdriver.Chrome(chrome_options=chrome_options)
#driverChrome.get('http://www.baidu.com')
#print(driverChrome.title)
return driverChrome
def loginBaidu(userName,passWord):
driver=ChromeDriverBrowser()
#访问百度
driver.get('https://www.baidu.com')
#开始尝试打开登录窗口,执行js点击登录按钮
js='document.querySelector(\'#u1 > a.lb\').click()'
driver.execute_script(js)
#给1秒加载时间
time.sleep(1)
#初次判断登录窗口是否打开
pList=driver.find_elements_by_xpath('//*[@id="pass_phoenix_btn"]/ul/li[1]/a')
PListLength=len(pList)
print(PListLength)
#如果未登录窗口未显示,进入判断窗口是否打开的循环
while PListLength==0:
#判断是否打开登录界面,如果PListLength为0则为还没有打开
pList=driver.find_elements_by_xpath('//*[@id="pass_phoenix_btn"]/ul/li[1]/a')
PListLength=len(pList)
print(PListLength)
#执行js点击登录按钮
js='document.querySelector(\'#u1 > a.lb\').click()'
driver.execute_script(js)
time.sleep(5)
#点击使用账号密码登录
js='document.querySelector(\'#TANGRAM__PSP_10__footerULoginBtn\').click()'
driver.execute_script(js)
#给1秒加载时间
time.sleep(1)
#输入账号
js="document.querySelector('#TANGRAM__PSP_10__userName').value='"+userName+"'"
driver.execute_script(js)
#输入密码 #TANGRAM__PSP_10__password
js="document.querySelector('#TANGRAM__PSP_10__password').value='"+passWord+"'"
driver.execute_script(js)
#给1秒加载时间
time.sleep(1)
#点击登录 #TANGRAM__PSP_10__submit
js="document.querySelector('#TANGRAM__PSP_10__submit').click()"
driver.execute_script(js)
time.sleep(5)
driver.quit()
def main():
loginBaidu('吾爱破解测试专用账号','test12345')
#密码乱写的所以会提示密码错误之类的,或者要输验证码啥的哈
if __name__ == '__main__':
main()
如果不需要界面的话,将38行的代码替换成
driver=ChromeDriverNOBrowser()
即可