selenium作为一个自动化测试工具非常好用,谁用谁知道啊。
先说如何登录淘宝,淘宝现在直接用会员名和密码登录会有滑块验证,找了网上说的几种方法和自己尝试了一番效果还是不太理想,实测过程中,即使滑块滑动成功了也无法登录,出现报错的情况。限于自身的技术水平无法解决。但是方法总比困难多,最后用了微博账号登录的。如果你使用了下文的登录方法。那快去注册一个微博账号或者绑定淘宝吧
登录:
首先确保安装了selenium,requests
pip install selenium
pip install requests
然后安装webdriver,具体怎么安装可以网上搜索,这里不做描述。
1.登陆:
#encoding=utf-8
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver import ActionChains
import time
import requests
import os
import re
#
url = 'https://login.taobao.com/member/login.jhtml'
options = webdriver.ChromeOptions()
# 不加载图片,加快访问速度
options.add_experimental_option("prefs",{"profile.mamaged_default_content_settings.images":2})
# 设置为开发者模式,防止被各大网站识别出来使用了Selenium,
options.add_experimental_option('excludeSwitches',['enable-automation'])
driver = webdriver.Chrome(executable_path='C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver',options=options)
wait = WebDriverWait(driver,10)
def login():
driver.get(url)
# 打开网页
driver.get(url)
# 等待 密码登录选项 出现
password_login = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.qrcode-login > .login-links > .forget-pwd')))
password_login.click()
# 等待 微博登录选项 出现
weibo_login = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.weibo-login')))
weibo_login.click()
#获取账号输入框
#input1 = driver.find_element_by_id('TPL_username_1')
#input1.send_keys('xxxx ')
EMAIL1 = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,'.username> .W_input' )))
EMAIL1.send_keys('xxxxxx') #输入自己的账号
#获取密码输入框
#input2 = driver.find_element_by_id('TPL_pass