selenium(二)之实现淘宝登录并计算个人淘宝总支出

1.引言
关于selenium的安装和基本语法,我已经在我博客中简单的介绍过了,这里我就不赘述了。这里我们直奔主题,讲解淘宝模拟登陆的全过程,并获取我们淘宝以往订单的所有信息。

通过本次内容,将学习到一下几点:

  • 如何操作,定位元素
  • 如何保证脚本执行的稳定性
  • 如何执行订单分页操作

2.实战

这里我们将本次程序分成3部分讲解,淘宝登录,获取订单信息,执行分页,这3个部分,关于如何计算订单价格等都是其次的问题。我们的重点在于获取每个订单页的所有数据信息,如订单日期、订单名称、订单价格、订单状态等4个数据信息。

2.1淘宝登录
selenium会操纵浏览器执行我们人工登陆淘宝时的所有流程。所以我们必须清楚人工登陆淘宝的流程。
(1)登陆过程分析:
第一步:打开网页,我们会看到如下登陆页面,这里写图片描述
这里我们不选择扫码登陆,所以我们需要点击右上角按钮,会出现用户名和密码的登录框.这点在程序模拟时很重要。
第二步:输入用户名和密码并点击登陆按钮
第三步:登陆成功自动跳转到个人主页
(3)登陆部分代码

from selenium import webdriver
import requests
from selenium.webdriver.support.ui import WebDriverWait
def login_taobao():
    driver = webdriver.Chrome("D:\\python\\chromedriver_win32\\chromedriver.exe")
    driver.maximize_window() #将浏览器最大化显示
    driver.delete_all_cookies()
    driver.get("https://login.taobao.com/member/login.jhtml")
    #load the switch
    element=WebDriverWait(driver,60).until(lambda driver :
    driver.find_element_by_xpath("//*[@id='J_Quick2Static']"))
    element.click()
    driver.implicitly_wait(20)
    username=driver.find_element_by_name("TPL_username")
    if not username.is_displayed:
        driver.implicitly_wait(20)
        driver.find_element_by_xpath("//*[@id='J_Quick2Static']").click()
    driver.implicitly_wait(20)
    username.send_keys("xxxx")
    driver.find_element_by_name("TPL_password").send_keys("xxxxx")
    driver.implicitly_wait(20)
    driver.find_element_by_xpath("//*[@id='J_SubmitStatic']").click()
    time.sleep(4)
    #以下是获得cookie代码
    # cookie = [item["name"] + "=" + item["value"] for item in driver.get_cookies()]
    # cookiestr = ';'.join(item for item in cookie)
    return driver

2.2获取订单信息

我们打开订单信息页面,https://buyertrade.taobao.com/trade/
itemlist/list_bought_items.htm,并解析其中的订单信息。这时我们可以借助浏览器的审查元素功能来定位元素,并应用浏览器提供的xpath定位语法来定位我们需要提取的元素信息。

parse_taobao(driver):
driver.implicitly_wait(20)
# print("页面内容如下所示:%s
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
好的,下面是实现淘宝登录的 Java 代码: 首先,需要引入 Selenium 的 Java 库,可以在项目中添加以下依赖: ```xml <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.141.59</version> </dependency> ``` 然后,使用下面的代码实现淘宝登录: ```java import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class TaobaoLogin { public static void main(String[] args) { // 设置 ChromeDriver 的路径 System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver"); // 创建 ChromeDriver 对象 WebDriver driver = new ChromeDriver(); // 访问淘宝登录页面 driver.get("https://login.taobao.com/member/login.jhtml"); // 定位到用户名输入框并输入用户名 WebElement usernameInput = driver.findElement(By.id("fm-login-id")); usernameInput.sendKeys("your_username"); // 定位到密码输入框并输入密码 WebElement passwordInput = driver.findElement(By.id("fm-login-password")); passwordInput.sendKeys("your_password"); // 定位到登录按钮并点击 WebElement loginButton = driver.findElement(By.cssSelector(".fm-button.fm-submit.password-login")); loginButton.click(); // 关闭浏览器 driver.quit(); } } ``` 需要注意的是,需要将 `/path/to/chromedriver` 替换为你本地 ChromeDriver 的路径,另外,需要将 `your_username` 和 `your_password` 替换为你的淘宝用户名和密码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值