Python编程使用Selenium模拟淘宝登录实现过程
作者:胡桃_ 发布时间:2023-08-29 00:56:53
标签:Python,Selenium,淘宝登录
一、利用xpath进行(全程使用)
driver.find_element_by_xpath()
二、代码部分与图片内容
打开淘宝网站,点击登录,输入账号密码,进入网站,搜索框中输入电脑,然后点击搜索
#导入selenium
from selenium import webdriver
#导入等待时间
import time
#使用火狐浏览器进行访问
driver = webdriver.Firefox()
#访问淘宝网站
driver.get("http://www.taobao.com")
#点击登录按钮
driver.find_element_by_xpath("html/body/div[4]/div[2]/div[1]/div/div[2]/div[1]/a[1]").click()
# 跳转页面
handles = driver.window_handles
print(handles)
#表单
tb = driver.find_element_by_tag_name("iframe")
driver.switch_to.frame(tb)
# 通过窗口的句柄进入的窗口
driver.switch_to.window(handles[1])
#点击账号进行输入
driver.find_element_by_xpath(".//*[@id='fm-login-id']").send_keys("账号")
#点击密码进行输入
driver.find_element_by_xpath(".//*[@id='fm-login-password']").send_keys("密码")
#点击登录按钮
driver.find_element_by_xpath(".//*[@id='login-form']/div[4]/button").click()
#扫码登陆的时间
driver.implicitly_wait(15)
#点击搜索框,搜索电脑
driver.find_element_by_xpath(".//*[@id='q']").send_keys("电脑")
#点击搜索按钮
driver.find_element_by_xpath(".//*[@id='J_TSearchForm']/div[1]/button").click()
搜索后,筛选商品,选择华为、再选择高清游戏、最后选择512G
#筛选商品
#选择“华为”
driver.find_element_by_xpath(".//*[@id='J_NavCommonRowItems_0']/a[8]/span[2]").click()
#等待1秒
time.sleep(1)
#再筛选“高清游戏”
driver.find_element_by_xpath(".//*[@id='J_NavCommonRowItems_0']/a[7]/span[2]").click()
#等待1秒
time.sleep(1)
#再筛选“512G”
driver.find_element_by_xpath(".//*[@id='J_NavCommonRowItems_0']/a[1]/span[2]").click()
#等待1秒
time.sleep(1)
#选择第一个筛选出来的商品,进行加入购物车等
然后选择商品,进入详情页面
# 选中商品
driver.find_element_by_xpath(".//*[@id='mainsrp-itemlist']/div/div/div[1]/div[1]").click()
#等待3秒
time.sleep(2)
进入详情页面后,选择内存,再选择颜色分类,最后加入购物车
#选择内存
driver.find_elements_by_xpath(".//*[@id='J_isku']/div/dl[1]/dd/ul/li[1]/a/span").click()
#等待1秒
time.sleep(1)
#选择颜色尺寸
driver.find_element_by_xpath(".//*[@id='J_isku']/div/dl[3]/dd/ul/li[5]/a/span").click()
#等待1秒
time.sleep(1)
#进入商品详情页面,点击加入购物车
driver.find_element_by_xpath(".//*[@id='J_juValid']/div[2]/a").click()
#等待1秒
time.sleep(1)
加入购物车之后,我们选择去购物车结算,最后到购物车结算界面
1、
#最后进入购物车进行结算
driver.find_element_by_xpath(".//*[@id='J_ResultSummary']/div[4]/a[2]").click()
2、
3、保存图片结果
#保存图片
driver.get_screenshot_as_png()
来源:https://blog.csdn.net/weixin_45999852/article/details/120854056
0
投稿
猜你喜欢
- 1,jdk配置由于jdk官网的链接不直接支持wget,可以使用下面的方法下载jdk,其中jdk版本为jdk1.8.0_91:wget --n
- js格式化金额,可选是否带千分位,可选保留精度,也是网上搜到的,但是使用没问题 /* 将数值四舍五入后格式化. @param num 数值(
- mktime()方法是localtime()反函数。它的参数是struct_time或全9元组,它返回一个浮点数,为了兼容时ti
- 需要准备的工具:SQL Query Analyzer和SqlExec Sunx Version第一部分:去掉xp_cmdshell保护系统的
- 前言你有没有经常好奇一些音乐软件的频谱特效是怎么做的,为什么做的这么好看?有没有想试试自己提取音乐频谱并可视化展现出来?今天,咱就结合上次的
- 微信好友全头像话不多说,直接上代码import itchatimport mathimport PIL.Image as Imageimpo
- 数据增强的必要性深度学习在最近十年得以风靡得益于计算机算力的提高以及数据资源获取的难度下降。一个好的深度模型往往需要大量具有label的数据
- 引言今天在使用Pytorch导入此前保存的模型进行测试,在过程中发现输出的结果与验证结果差距甚大,经过排查后发现是forward与eval(
- 1. 字符编码简介1.1. ASCIIASCII(American Standard Code for Information Interc
- 一、 什么是进程 / 线程1、 引论众所周知,CPU是计算机的核心,它承担了所有的计算任务。而操作系统是计算机的管理者,是一个大管家,它负责
- 先说迭代器,对于string、list、dict、tuple等这类容器对象,使用for循环遍历是很方便的。在后台for语句对容器对象调用it
- 前言你可能不需要经常处理分数,但当你需要时,Python的Fraction类会给你很大的帮助。本文将给大家详细介绍关于利用标准库fracti
- 前言最近有网友私信我,问如何把多张图片合成一张马赛克图片的样子说是女儿从出生到现在,所有的照片,大概有上百张,所以想使用这些照片合成一张,当
- 本文实例为大家分享了js实现鼠标切换图片的具体代码,供大家参考,具体内容如下实现效果,可以利用鼠标移动在对应的小点点上,或者点击左右两侧的箭
- 不夸张地说,XML正在接管这个世界,正在成为今天一切Web服务和大多数SOA的基础。XML本身并非一种技术,而是程序设计语言,可支持开发者为
- 原文: gradio.app/interface-s…1.全局状态例子来解释import gradio as grsc
- 在密码学中,凯撒密码(或称恺撒加密、恺撒变换、变换加密)是一种最简单且最广为人知的加密技术。它是一种替换加密的技术。这个加密方法是以恺撒的名
- 前言问题:我们在放大图片的过程中,放大的目标图像和原图图像之间会存在不同。放大的基本思想:第一步:将目标图像进行缩小到原图像的尺寸,虚拟的将
- 1. 确认已经安装了NT/2000和SQL Server的最新补丁程序,不用说大家应该已经安装好了,但是我觉得最好还是在这里提醒一下。2.
- 1、引言选择排序里面主要讲了三个排序,分别是简单选择排序、树形选择排序、堆排序。今天这篇文章主要讲树形选择排序,树形选择排序也被称为锦标赛排