利用selenium自动化登录淘宝

#encoding=utf-8

from selenium import webdriver

from selenium.webdriver.common.action_chains import ActionChains

from selenium.common.exceptions import UnexpectedAlertPresentException

import time,unittest, re

#登录页面

driver=webdriver.Firefox()

driver.get("https://login.taobao.com")

#进入账户密码模式

driver.find_element_by_xpath(‘/html/body/div/div[2]/div[3]/div/div/div[2]/div[4]/div/div[5]/a‘).click()

driver.find_element_by_xpath(‘/html/body/div/div[2]/div[3]/div/div/div[2]/div[3]/form/div[2]/span‘).click()

driver.find_element_by_id(‘TPL_username_1‘).send_keys(‘账号‘)

#账户名输入用的xpath,密码输入用By,皮一下

driver.find_element_by_id("TPL_password_1").click()

driver.find_element_by_id("TPL_password_1").send_keys(‘密码‘)

driver.find_element_by_id("J_SubmitStatic").click()#登录摁扭

至此按理说如果是用手工的话就已经可以登录了 ,然而在跑自动化时发现出现了滑块

如上图所示,所以需要再次输入密码并且滑动滑块

#需要滑块,再次登录,先输入密码,再滑动滑块

driver.find_element_by_id("TPL_password_1").click()

driver.find_element_by_id("TPL_password_1").send_keys(‘密码‘)

time.sleep(1)

dragger=driver.find_element_by_id(‘nc_1_n1z‘)#.滑块定位

action=ActionChains(driver)

for index in range(500):

try:

action.drag_and_drop_by_offset(dragger, 500, 0).perform()#平行移动鼠标,此处直接设一个超出范围的值,这样拉到头后会报错从而结束这个动作

except UnexpectedAlertPresentException:

break

time.sleep(11)  #等待停顿时间

driver.find_element_by_id(‘J_SubmitStatic‘).click()#重新摁登录摁扭

print "finish"

在一开始做这个脚本时经常出现如下状况,之后就不动了,即使手动拉动滑块也会报错从而无法登录。

经小伙伴提醒,是因为浏览器版本过低导致,还以为是腾讯的机器人识别捣的鬼。

原文地址:https://www.cnblogs.com/garvicker/p/8947121.html

时间: 2024-08-28 15:54:58

利用selenium自动化登录淘宝的相关文章

利用Selenium爬取淘宝商品信息

一.  Selenium和PhantomJS介绍 Selenium是一个用于Web应用程序测试的工具,Selenium直接运行在浏览器中,就像真正的用户在操作一样.由于这个性质,Selenium也是一个强大的网络数据采集工具,其可以让浏览器自动加载页面,这样,使用了异步加载技术的网页,也可获取其需要的数据. Selenium模块是Python的第三方库,可以通过pip进行安装: pip3 install selenium Selenium自己不带浏览器,需要配合第三方浏览器来使用.通过help命

利用 selenium 抓取 淘宝信息

import lxml from bs4 import BeautifulSoup import time from selenium import webdriver import re driver = webdriver.PhantomJS() driver.set_window_size(1600,20000) driver.get("https://item.taobao.com/item.htm?spm=2013.1.0.0.bLyAul&id=17676925595&quo

用selenium爬取淘宝美食

'''利用selenium爬取淘宝美食网页内容''' import re from selenium import webdriver from selenium.common.exceptions import TimeoutException from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.su

Python爬虫实战(5):模拟登录淘宝并获取所有订单(1)

经过多次尝试,模拟登录淘宝终于成功了,实在是不容易,淘宝的登录加密和验证太复杂了,煞费苦心,在此写出来和大家一起分享,希望大家支持. 本篇内容 1. python模拟登录淘宝网页 2. 获取登录用户的所有订单详情 3. 学会应对出现验证码的情况 4. 体会一下复杂的模拟登录机制 探索部分成果 1. 淘宝的密码用了AES加密算法,最终将密码转化为256位,在POST时,传输的是256位长度的密码. 2. 淘宝在登录时必须要输入验证码,在经过几次尝试失败后最终获取了验证码图片让用户手动输入来验证.

Python模拟登录淘宝

最近想爬取淘宝的一些商品,但是发现如果要使用搜索等一些功能时基本都需要登录,所以就想出一篇模拟登录淘宝的文章!看了下网上有很多关于模拟登录淘宝,但是基本都是使用scrapy.pyppeteer.selenium等库来模拟登录,但是目前我们还没有讲到这些库,只讲了requests库,那我们今天就来使用requests库模拟登录淘宝! 讲模拟登录淘宝之前,我们来回顾一下之前用requests库模拟登录豆瓣和新浪微博的过程:这一类模拟登录是比较简单的登录,只需要在请求登录时将用户名和密码上传验证通过就

手把手教你用Python模拟登录淘宝

作者 | 猪哥66 来源 | 裸睡的猪(ID:IT--Pig) 最近想爬取淘宝的一些商品,但是发现如果要使用搜索等一些功能时基本都需要登录,所以就想出一篇模拟登录淘宝的文章! 看了下网上有很多关于模拟登录淘宝,但是基本都是使用 scrapy.pyppeteer.selenium 等库来模拟登录,但是目前我们还没有讲到这些库,只讲了 requests 库,那我们今天就来使用 requests 库模拟登录淘宝! 讲模拟登录淘宝之前,我们来回顾一下之前用 requests 库模拟登录豆瓣和新浪微博的过

浏览器插件-自动登录淘宝(二)

前言 关于案例 下一章 版本更新提示案例 一.前言 上章我们提到过开发一个插件所需要的步骤: 浏览器插件-自动登录淘宝(-) 并且还介绍了如何在页面上面注入脚本代码,并且成功的完成用户名和密码的自动输入功能. 本章将会以一些案例来介绍插件的一些新的开发技巧.案例将包括: 关于案例 涉及的技术点包括: 如何使用popup.html popup如何使用js 如何使用chrome  api 二.关于案例 任何一个成熟的产品都会有关于的标志,这是在法律的角度上面宣示自己拥有这个产品的所有权. 以下案例将

ubuntu14.04下firefox32登录淘宝看不到价格问题

现象:搜宝贝的时候,出来一堆宝贝那个页面上看不到,但是点进去能看到 解决方法: 1.在地址栏上输入,about:preferences 2.点击内容选项 3.点击高级 4.在弹出窗口中取消“允许页面选择显示字体而无需使用上面的设置”的勾选 5.点击确定后,在是登录淘宝搜索宝贝,就可以看到价格了.

爬虫实例之selenium爬取淘宝美食

这次的实例是使用selenium爬取淘宝美食关键字下的商品信息,然后存储到MongoDB. 首先我们需要声明一个browser用来操作,我的是chrome.这里的wait是在后面的判断元素是否出现时使用,第二个参数为等待最长时间,超过该值则抛出异常. browser = webdriver.Chrome() wait = WebDriverWait(browser,10) 声明好之后就需要进行打开网页.进行搜索的操作. #使用webdriver打开chrome,打开淘宝页面,搜索美食关键字,返回