修复淘宝登陆

This commit is contained in:
CriseLYJ
2019-04-02 14:57:17 +08:00
parent a0c6a36c87
commit 8afb890dc0
2 changed files with 76 additions and 1 deletions
+2 -1
View File
@@ -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
+74
View File
@@ -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()