mirror of
https://github.com/Kr1s77/awesome-python-login-model.git
synced 2026-10-17 04:30:50 +08:00
修复淘宝登陆
This commit is contained in:
@@ -61,7 +61,7 @@
|
||||
- [x] [知乎](http://zhihu.com)
|
||||
- [x] [QQZone](https://qzone.qq.com/)
|
||||
- [x] [CSDN](https://www.csdn.net/)
|
||||
- [x] [淘宝](www.taobao.com)
|
||||
- [x] [淘宝](https://login.taobao.com/member/login.jhtml)
|
||||
- [x] [Baidu](www.baidu.com)
|
||||
- [x] [果壳](https://www.guokr.com/)
|
||||
- [x] [JingDong 模拟登录和自动申请京东试用](https://www.jd.com/)
|
||||
@@ -102,6 +102,7 @@
|
||||
- [x] [爬取图虫想要的图片](https://github.com/CriseLYJ/awesome-python-login-model/blob/master/tuchong/tuchong.py)
|
||||
- [x] [网易云音乐downloader](https://github.com/CriseLYJ/awesome-python-login-model/blob/master/NeteaseCloudMusicDownload/wangyiyun_spider.py)
|
||||
- [x] [糗事百科爬虫](https://github.com/CriseLYJ/awesome-python-login-model/blob/master/qsbk/qiushibaike.py)
|
||||
- [x] [淘宝登陆-访问](https://login.taobao.com/member/login.jhtml)
|
||||
|
||||
|
||||
# Test
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
#!/usr/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
author : CriseLYJ
|
||||
github : https://github.com/CriseLYJ/
|
||||
update_time : 2019-4-2
|
||||
"""
|
||||
|
||||
"""
|
||||
淘宝登陆有时候不会跳出二维码页面,如果失败,请重新运行程序即可
|
||||
"""
|
||||
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.common.by import By
|
||||
from selenium.webdriver.support.ui import WebDriverWait
|
||||
from selenium.webdriver.support import expected_conditions as EC
|
||||
|
||||
|
||||
class Taobao_Spider:
|
||||
|
||||
def __init__(self, username, password):
|
||||
"""初始化参数"""
|
||||
url = 'https://login.taobao.com/member/login.jhtml'
|
||||
self.url = url
|
||||
|
||||
options = webdriver.ChromeOptions()
|
||||
# 不加载图片,加快访问速度
|
||||
options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2})
|
||||
# 设置为开发者模式,避免被识别
|
||||
options.add_experimental_option('excludeSwitches',
|
||||
['enable-automation'])
|
||||
self.browser = webdriver.Chrome(options=options)
|
||||
self.wait = WebDriverWait(self.browser, 10)
|
||||
# 初始化用户名
|
||||
self.username = username
|
||||
# 初始化密码
|
||||
self.password = password
|
||||
|
||||
def run(self):
|
||||
"""登陆接口"""
|
||||
self.browser.get(self.url)
|
||||
try:
|
||||
# 这里设置等待:等待输入框
|
||||
login_element = self.wait.until(
|
||||
EC.presence_of_element_located((By.CSS_SELECTOR, '.qrcode-login > .login-links > .forget-pwd')))
|
||||
login_element.click()
|
||||
|
||||
sina_login = self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.weibo-login')))
|
||||
sina_login.click()
|
||||
|
||||
weibo_user = self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.username > .W_input')))
|
||||
weibo_user.send_keys(self.username)
|
||||
|
||||
sina_password = self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.password > .W_input')))
|
||||
sina_password.send_keys(self.password)
|
||||
|
||||
submit = self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.btn_tip > a > span')))
|
||||
submit.click()
|
||||
|
||||
taobao_name = self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,
|
||||
'.site-nav-bd > ul.site-nav-bd-l > li#J_SiteNavLogin > div.site-nav-menu-hd > div.site-nav-user > a.site-nav-login-info-nick ')))
|
||||
# 输出淘宝昵称
|
||||
print(taobao_name.text)
|
||||
except Exception:
|
||||
self.browser.close()
|
||||
print("登陆失败")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
username = input("请输入你的微博用户名:")
|
||||
password = input("请输入密码:")
|
||||
|
||||
spider = Taobao_Spider(username, password)
|
||||
spider.run()
|
||||
Reference in New Issue
Block a user