使用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()
---------------------