[Python] Python+selenium+Chrome模拟登录du娘

安装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()
即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值