01阅读本文需要3分钟
使用selenium登录某宝,套路也很一样,今天就给大家简单的讲哈,只供学习交流哈。
基本步骤
1.下载chrome浏览器:https://www.google.com/chrome/
2.查看chrome浏览器的版本号,下载对应版本号的chromedriver驱动
3.填写chromedriver的绝对路径
4.执行命令pip install selenium
5.打开登录页面并通过微博绑定某宝账号密码
模块
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
安装方法:pip install selenium 即可
浏览器驱动
chromedriver_path = "chromedriver.exe" # 使用自己的路径即可
下载地址:http://chromedriver.storage.googleapis.com/index.html
¥¥ 下载好之后放在自己想放的位置即可,不需要双击exe文件。
浏览器设置
options = webdriver.ChromeOptions() # 不加载图片,加快访问速度 options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2}) # 此步骤很关键,设置为开发者模式,防止被各大网站识别出来使用了Selenium options.add_experimental_option('excludeSwitches', ['enable-automation']) # 改成你的chromedriver的完整路径地址 chromedriver_path = r"D:\chromedriver_win32\chromedriver.exe" self.driver = webdriver.Chrome(executable_path=chromedriver_path, options=options) #超时时长为10s self.wait = WebDriverWait(self.browser, 10)
关键代码
# 等待 微博登录选项 出现 weibo_login = self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.weibo-login'))) weibo_login.click() # 等待 微博账号 出现 weibo_user = self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.username > .W_input'))) weibo_user.send_keys(weibo_username) # 等待 微博密码 出现 weibo_pwd = self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.password > .W_input'))) weibo_pwd.send_keys(weibo_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)
效果图:
结束
只是实现简单的登录功能,大家可以多几遍代码,就可以完全掌握,前提是对selenium有点基础。
获取源代码 后台回复【登录】 <链接有效期7天>