使用selenium实现模拟淘宝登陆

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By


class TaoBaoLogin(object):

def __init__(self, account, password):
self.options = webdriver.ChromeOptions()
# 设置开发者模式
self.options.add_experimental_option("excludeSwitches", ['enable-automation'])
# 不加载图片,快速访问
self.options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2})
self.driver = webdriver.Chrome(options=self.options)
self.url = "https://login.taobao.com/member/login.jhtml"
# 等待浏览器加载数据
self.wait = WebDriverWait(self.driver, 10, 0.5)
self.account = account
self.password = password

def __del__(self):
self.driver.quit()

def login(self):
self.driver.get(self.url)
try:
pwd_login_elem = self.wait.until(
EC.element_to_be_clickable((By.XPATH, "//div[@id='J_QRCodeLogin']/div[@class='login-links']/a[1]")))
pwd_login_elem.click()

wb_login_elem = self.wait.until(EC.element_to_be_clickable((By.CLASS_NAME, "weibo-login")))
wb_login_elem.click()

account_elem = self.wait.until(EC.presence_of_element_located((By.NAME,"username")))
account_elem.send_keys(self.account)

pwd_elem = self.wait.until(EC.presence_of_element_located((By.NAME,"password")))
pwd_elem.send_keys(self.password)

submit = self.wait.until(EC.element_to_be_clickable((By.XPATH,"//a[@class='W_btn_g']")))
submit.click()

print("登陆成功")

except:
print("登陆失败")


if __name__ == '__main__':
username = input("请输入你的微博账号>>")
password = input("请输入你的微博密码>>")
TaoBaoLogin(username, password).login()
--------------------- 

posted on 2019-06-12 08:59  激流勇进1  阅读(747)  评论(0编辑  收藏  举报