上一篇写的是操作火狐浏览器,今天切换成谷歌的chrome浏览器,对开发者更友好些,插件也多。
第一步是下载对应的驱动程序,上一篇中有链接,但谷歌不还没办法访问,又找到了一个可以下载的地址 http://chromedriver.storage.googleapis.com/index.html 找到操作系统对应和浏览器对应的版本下载即可。
下载完成后解压,是个名叫chromedriver.exe的文件,仍旧给他放到一个配置了环境变量的路径,比如python 路径。
测试下chromedriver 是否能正常调用,windows 打开cmd, 输入chromedriver ,回车,出现下面的画面,表示成功了。
功能简单,直接上代码。
from selenium import webdriver
# 淘宝类
class Taobao:
#类初始化方法
def __init__(self):
self.url = 'https://login.taobao.com/member/login.jhtml' # 淘宝登录地址
self.browser = webdriver.Chrome() # 设定浏览器
# 登录方法
def login(self):
self.browser.get(self.url) #打开淘宝登录页面
# 本地调用测试
if __name__ == "__main__":
t = Taobao() # 实例化类
t.login() # 登录
运行看下效果
打开登录页面了,有5中登录方式,账号和密码、短信,app扫码、微博、支付宝。现在用微博登录的方式,为什么用微博账号登录,很负责任的说,因为这种方式最简单!
思路就是打开淘宝登录页-点击微博登录-跳转完成-账号、密码赋值- 点击登录。
改造下login方法的代码
# 登录方法
def login(self):
self.browser.get(self.url) #打开淘宝登录页面
# 等待 微博登录选项 出现
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_pwd = self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.password > .W_input')))
weibo_pwd.send_keys('你的微博密码')
# 等待 登录按钮 出现
submit = self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.btn_tip > a > span')))
submit.click()
我自己的微博账号长时间不用冻结了,不展示效果了,再贴一次完整代码吧
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
# 淘宝类
class Taobao:
#类初始化方法
def __init__(self):
self.url = 'https://login.taobao.com/member/login.jhtml' # 淘宝登录地址
self.browser = webdriver.Chrome() # 设定浏览器
options = webdriver.ChromeOptions()
options.add_experimental_option('excludeSwitches',
['enable-automation']) # 设置为开发者模式
self.browser = webdriver.Chrome(options=options)
self.wait = WebDriverWait(self.browser, 10) # 超时时长为10s
# 登录方法
def login(self):
self.browser.get(self.url) #打开淘宝登录页面
# 等待 微博登录选项 出现
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('18519151765')
# 等待 微博密码 出现
weibo_pwd = self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.password > .W_input')))
weibo_pwd.send_keys('Yanyan9898')
# 等待 登录按钮 出现
submit = self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.btn_tip > a > span')))
submit.click()
# 本地调用测试
if __name__ == "__main__":
t = Taobao() # 实例化类
t.login() # 登录