python 操作selenium 简单模拟淘宝登录

在使用selenium需要下载chromedriver

下载地址: 

http://npm.taobao.org/mirrors/chromedriver/

下面是两种登录 一种是用账号密码登录
一种是用cookie登录 (但需要上面登录后的cookie)
import time
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait

# http://npm.taobao.org/mirrors/chromedriver/

class SimulatedTaobaoLogin():
    def __init__(self):
        self.url = "https://www.taobao.com"
        self.options = webdriver.ChromeOptions()
        self.options.add_argument("--disable-blink-features=AutomationControlled")

        self.broswer = webdriver.Chrome(executable_path=r"C:\Users\Administrator\Desktop\mid\spiders\chromedriver",
                                        options=self.options)
        self.maxwindow = self.broswer.maximize_window()  # 最大化窗口
        self.wait = WebDriverWait(self.broswer, 5)  # 显式等待
# 普通账号密码登录 以及 cookie 获取 def cookieGet(self) -> str: self.broswer.get('https://login.taobao.com/member/login.jhtml?spm=a21bo.jianhua.754894437.1.5af911d9bYhkW7&f=top&redirectURL=https%3A%2F%2Fwww.taobao.com%2F') self.broswer.implicitly_wait(3) user = self.broswer.find_element_by_xpath('//input[@id="fm-login-id"]') user.click() user.clear() time.sleep(3) user.send_keys('userName') # 输入你的账号 time.sleep(5) pwd = self.broswer.find_element_by_xpath('//input[@id="fm-login-password"]') pwd.click() pwd.clear() time.sleep(3) pwd.send_keys("userPwd") # 输入你的密码 time.sleep(5) login = self.broswer.find_element_by_xpath('//button') login.click() time.sleep(30) cookie = self.broswer.get_cookies() return cookie # cookie 登录 def cookieLogin(self, cookies:str) -> None: self.broswer.get(self.url) time.sleep(1) self.broswer.delete_all_cookies() # 清除原有的cookie信息 for cookie in cookies: self.broswer.add_cookie(cookie) time.sleep(3) self.broswer.refresh() # 刷新 time.sleep(5) search_input = self.broswer.find_element_by_xpath('//*[@id="q"]') shop_name = '月饼' search_input.send_keys(shop_name) time.sleep(5) search_submit = self.broswer.find_element_by_xpath('//*[@id="J_TSearchForm"]/div[1]/button') search_submit.click() time.sleep(5) def __call__(self, *args, **kwargs): cookies = self.cookieGet() self.cookieLogin(cookies) self.broswer.quit() if __name__ == '__main__': simulatedTaobaoLogin = SimulatedTaobaoLogin() simulatedTaobaoLogin()

  

posted @ 2022-01-22 17:00  长乐未央丫  阅读(300)  评论(0)    收藏  举报