python + selenium实现自动登录操作(以淘宝为例)

selenium操作不熟练的可以查看一下这篇文章:selenium操作大全

一、登录前准备操作

定位一下相对应html位置,输入一般为input标签、登录按钮一般为button。

输入账号密码那块:

定位代码:

driver.find_element_by_xpath('//input[@type="text"]').send_keys('账号xxxxxx')       
driver.find_element_by_xpath('//input[@type="password"]').send_keys('密码xxxxx') 
# 账号密码那里要改成自己的账号密码

注意,这里实例化Firefox()需要去下载安装火狐浏览器及驱动。

登录按钮位置:

 定位代码:

driver.find_element_by_xpath('//button[@type="text"]')

写代码前需要掌握的内容:

.find_element_by_xpath():用xpath定位元素位置

.send_keys()           :在对应位置输入一段内容

.click()                          :模拟鼠标左键单机

二、自动化登录总代码:

from selenium import webdriver
import time

url_login = 'https://login.taobao.com/member/login.jhtml'        # 登录界面网站
driver = webdriver.Firefox()   # 打开浏览器
driver.get(url_login)      # 进入登录界面
driver.find_element_by_xpath('//input[@type="text"]').send_keys('账号xxxxxxxxx')
time.sleep(2)     # 要让他睡一下防止动作太快了别检测到
driver.find_element_by_xpath('//input[@type="password"]').send_keys('密码xxxxxxxxx')
time.sleep(2)
# 点击登录按钮
driver.find_element_by_xpath('//button[@type="submit"]').click()

登录完后可以直接获取其对应cookie

cookie_list = driver.get_cookies()

三、扫码登录

通过账号密码自动登录有个缺点就是有时候不太稳定可能会被检测到,最好是扫码登录,下面附扫码登录代码,与上面操作类似

先找到二维码登录按钮然后点击最后手动扫码登录(这个比较稳定成功率最高)

driver.find_element_by_xpath('//i[@class = "iconfont icon-qrcode"]').click()      
# 找到扫码位置
time.sleep(10)    # (10秒用于手动扫码登录,按自己手速调节)

  • 2
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
好的,你可以使用 PythonSelenium 库来模拟 Chrome 浏览器操作实现自动上下架批量操作。具体步骤如下: 1. 安装 Python 和 Chrome 浏览器。 2. 安装 Selenium 库:在命令行中输入 `pip install selenium`。 3. 下载 Chrome 浏览器对应版本的 ChromeDriver,并将其添加到系统路径中。 4. 编写 Python 脚本,使用 Selenium 模拟 Chrome 浏览器操作,进行自动上下架批量操作。 具体实现步骤可以参考以下代码示: ``` python from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 打开登录页面 driver = webdriver.Chrome() driver.get("https://login.taobao.com/member/login.jhtml") # 登录账号 username = "username" # 账号 password = "password" # 密码 driver.find_element_by_id("fm-login-id").send_keys(username) driver.find_element_by_id("fm-login-password").send_keys(password) driver.find_element_by_class_name("fm-submit").click() # 进入商品管理页面 driver.get("https://sell.taobao.com/auction/merchandise/auction_list.htm") # 批量上架商品 WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".batch-operate .batch-op-btn"))) driver.find_element_by_css_selector(".batch-operate .batch-op-btn").click() driver.find_element_by_css_selector(".batch-op-menu .J_BatchPublish").click() driver.find_element_by_css_selector(".batch-op-confirm .J_BatchSubmit").click() # 批量下架商品 WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".batch-operate .batch-op-btn"))) driver.find_element_by_css_selector(".batch-operate .batch-op-btn").click() driver.find_element_by_css_selector(".batch-op-menu .J_BatchOffline").click() driver.find_element_by_css_selector(".batch-op-confirm .J_BatchSubmit").click() # 关闭浏览器 driver.quit() ``` 需要注意的是,以上代码仅供参考,具体实现还需要根据自己的需求进行修改和完善。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云溪·

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值