吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4561|回复: 23
收起左侧

[Python 转载] 基于Python和selenium的智慧树登陆代码-解决登陆滑动块问题

[复制链接]
lntuer 发表于 2020-1-20 15:54
本帖最后由 lntuer 于 2020-1-20 16:10 编辑

一、目标网站
https://www.zhihuishu.com/
二、遇到难题
QQ截图20200120155140.png
三、登陆代码
[Python] 纯文本查看 复制代码
from selenium import webdriver
import time
import re
import random
#输入账号
username=""
#输入密码
passwd=""
login_url='https://www.zhihuishu.com/'
option = webdriver.ChromeOptions()
option.add_argument('--mute-audio')
option.add_experimental_option('excludeSwitches', ['enable-automation'])
browser = webdriver.Chrome(chrome_options=option)
# browser = webdriver.Firefox()
browser.maximize_window()
browser.get(login_url)
browser.implicitly_wait(10)
elem=browser.find_element_by_xpath('//*[@id="header-top"]/div/ul/div/div[1]/a[1]')
elem.click()
time.sleep(3)
username_js='document.getElementById("lUsername").value="{}"'.format(username)
browser.execute_script(username_js)
time.sleep(2)
password_js='document.getElementById("lPassword").value="{}"'.format(passwd)
browser.execute_script(password_js)
time.sleep(2)
login_js='formSignUp();'
browser.execute_script(login_js)
time.sleep(3)
#studentIndex
current_url=browser.current_url
if "studentIndex" in current_url:
    print("登陆成功啦……")
else:
    i=0
    while True:
        print("尝试第{}次登陆……".format(i))
        browser.refresh()
        time.sleep(1)
        username_js = 'document.getElementById("lUsername").value="{}"'.format(username)
        browser.execute_script(username_js)
        time.sleep(1)
        password_js = 'document.getElementById("lPassword").value="{}"'.format(passwd)
        browser.execute_script(password_js)
        time.sleep(1)
        login_js = 'formSignUp();'
        browser.execute_script(login_js)
        time.sleep(1)
        current_url = browser.current_url
        print(current_url)
        if "studentIndex" in current_url or "entry" in current_url:
            break
        i+=1



大神勿喷,小白学习中……

免费评分

参与人数 2吾爱币 +2 热心值 +1 收起 理由
Futuresing + 1 用心讨论,共获提升!
吾爱阳仔 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| lntuer 发表于 2020-1-20 16:09
吾爱阳仔 发表于 2020-1-20 16:07
同求,研究了几天都没有解决

这个已经解决了你的问题了啊
featmellwo 发表于 2020-1-21 12:40
吾爱阳仔 发表于 2020-1-20 21:28
@featmellwo 大神,可以看看这个帖子,帮忙指点一下

之前帖子已经回复过了,利用js可以过掉,不过我看了下,大概率是因为你的账户登录太频繁了,我测试了下自己的账户无滑块直接登录
[Python] 纯文本查看 复制代码
import time
from selenium import webdriver
url = r'https://passport.zhihuishu.com/login?service=https%3A%2F%2Fonline.zhihuishu.com%2FonlineSchool%2F'
browser = webdriver.Chrome("E:/python/allwangke/chromedriver.exe")
browser.maximize_window()
browser.get(url)
namejs='document.getElementById("lUsername").value="17197929660"'
passjs='document.getElementById("lPassword").value="Pjfk032505"'
loginjs='formSignUp();'
browser.execute_script(namejs)
browser.execute_script(passjs)
time.sleep(1)
browser.execute_script(loginjs)
吾爱阳仔 发表于 2020-1-20 16:07
吾爱阳仔 发表于 2020-1-20 16:31
抱歉,没有好好审题,这要是小学生考试,我估计不及格了
生有涯知无涯 发表于 2020-1-20 17:51
从代码中并没有看到拖动滑块的操作啊
kge369 发表于 2020-1-20 20:58
吾爱阳仔 发表于 2020-1-20 16:31
抱歉,没有好好审题,这要是小学生考试,我估计不及格了

虽然不懂楼主的js,不过用其他方式也能到滑块哪里.从脚本看是重复登录.貌似没有解决你想要解决的问题吧
吾爱阳仔 发表于 2020-1-20 21:05
kge369 发表于 2020-1-20 20:58
虽然不懂楼主的js,不过用其他方式也能到滑块哪里.从脚本看是重复登录.貌似没有解决你想要解决的问题吧

是,没有解决,刚刚测试完,还是没有登陆成功
吾爱阳仔 发表于 2020-1-20 21:07
楼主,还是没有成功,给你一个测试账号   
username="17197929660"
#输入密码
passwd="Pjfk032505"
 楼主| lntuer 发表于 2020-1-20 21:14
kge369 发表于 2020-1-20 20:58
虽然不懂楼主的js,不过用其他方式也能到滑块哪里.从脚本看是重复登录.貌似没有解决你想要解决的问题吧

是重复登录,可以解决出现滑块问题
 楼主| lntuer 发表于 2020-1-20 21:15
吾爱阳仔 发表于 2020-1-20 21:07
楼主,还是没有成功,给你一个测试账号   
username="17197929660"
#输入密码

这个脚本可以成功登录,要耐心等候
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 07:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表