IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Selenium+JAVA淘宝登录、商品搜索、添加收货地址,提交订单、付款流程(UI) -> 正文阅读

[Python知识库]Selenium+JAVA淘宝登录、商品搜索、添加收货地址,提交订单、付款流程(UI)

Selenium+JAVA淘宝登录、商品搜索、添加收货地址,提交订单、付款流程

package test;

import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

import java.util.ArrayList;
import java.util.List;

/**
 * <p>
 * UI自动化测试流程:allProcess
 * 淘宝网登录,商品搜索、下单、付款的购物流程
 * 1、登录
 * 2、商品搜索
 * 3、下单
 * 4、付款
 */

public class UITaobao {
    public static void main(String[] args) throws Exception {
        String url = "https://www.taobao.com/";
        allProcess(url);
    }

    public static void allProcess(String url) throws Exception {
        //加载webdirver所在的路径。webdirver要与所用的chrome版本一致
        System.setProperty("webdirver.chrome.dirver", "D:\\Tools\\webdirveri\\chromedriver.exe");
        //创建ChromeDiever对象
        ChromeDriver chromeDriver = new ChromeDriver();
        chromeDriver.get(url);//打开网页
        //默认进入淘宝主页,点击登录按钮,跳转登录界面
        chromeDriver.findElementByXPath("//*[@id=\"J_LoginInfoHd\"]/a[1]");

        WebDriverWait wait = new WebDriverWait(chromeDriver, 10);
        //等待页面加载出登录按钮- 登录界面
        wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.xpath("//*[@id=\"login-form\"]/div[4]/button")));

        chromeDriver.findElementByXPath("//*[@id=\"fm-login-id\"]").clear();//清除输入框的内容
        chromeDriver.findElementByXPath("//*[@id=\"fm-login-id\"]").sendKeys("wwww");//输入用户名

        chromeDriver.findElementByXPath("//*[@id=\"fm-login-password\"]").clear();
        chromeDriver.findElementByXPath("//*[@id=\"fm-login-password\"]").sendKeys("12345");//输入密码

        //等待页面加载出主页面--淘宝网首页
        wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.xpath("//*[@id=\"J_SiteNavBdR\"]/li[1]/div/a")));

        //搜索框输入搜索内容
        chromeDriver.findElementByXPath("//*[@id=\"J_search_key\"]").sendKeys("水杯");
        chromeDriver.findElementByXPath("//*[@id=\"J_searchForm\"]/input").click();//搜索

        //获取当前页面句柄
        String nowWindows = chromeDriver.getWindowHandle();
        List<String> allWindows = new ArrayList<>();
        int j = 0;
        for (int i = 0; i < allWindows.size(); i++) {
            if (allWindows.get(i).equals(nowWindows)) {
                j = i;
                break;
            }
        }
        //点击搜索后,加载新窗口,跳转到新窗口
        chromeDriver.switchTo().window(allWindows.get(j));
        chromeDriver.findElementByXPath("//*[@id=\"mx_5\"]/ul/li[1]/a/div[1]/span").click();//点击商品
        Thread.sleep(2);
        //切换窗口,跳转商品详情页
        for (int i = 0; i < allWindows.size(); i++) {
            if (allWindows.get(i).equals(nowWindows)) {
                j = i;
                break;
            }
        }
        //点击搜索后,加载新窗口,跳转到新窗口
        chromeDriver.switchTo().window(allWindows.get(j));
        chromeDriver.findElementByXPath("//*[@id=\"mx_9\"]/div/div/a/div[3]/p").click();//点击商品名称,进入商品也
        Thread.sleep(2);
        //选择商品颜色
        chromeDriver.findElementByXPath("//*[@id=\"J_DetailMeta\"]/div[1]/div[1]/div/div[4]/div/div/dl[1]/dd/ul/li[1]/a/span")
                .click();
        //选择输入商品数量
        chromeDriver.findElementByXPath("//*[@id=\"J_Amount\"]/span[1]/input").clear();
        chromeDriver.findElementByXPath("//*[@id=\"J_Amount\"]/span[1]/input").sendKeys("2");
        //确认
        chromeDriver.findElementByXPath("//*[@id=\"J_LinkBuy\"]/span").click();

        //添加收货地址
        chromeDriver.findElementByXPath("//*[@id=\"addressPC_1\"]/div[5]/button").click();
        //添加收获地址的弹框为div弹框,与普通的元素定位一样
        //等待弹框显示完全
        wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.xpath("//*[@id=\"dialog-title-kt1lt9ab\"]")));

        //选择收货地址信息,收货地址为下拉框,用CSSSelector定位
        //省信息
        chromeDriver.findElementByCssSelector
                ("#cndzkEntrance > div:nth-child(2) > div > div > div.cndzk-entrance-division-box > ul.cndzk-entrance-division-box-content > div > li:nth-child(1)")
                .click();
        //市信息
        chromeDriver.findElementByCssSelector
                ("#cndzkEntrance > div:nth-child(2) > div > div > div.cndzk-entrance-division-box > ul.cndzk-entrance-division-box-content > div > li:nth-child(1)")
                .click();
        //区信息
        chromeDriver.findElementByCssSelector("#cndzkEntrance > div:nth-child(2) > div > div > div.cndzk-entrance-division-box > ul.cndzk-entrance-division-box-content > div > li:nth-child(1)")
                .click();
        //街道信息
        chromeDriver.findElementByCssSelector("#cndzkEntrance > div:nth-child(2) > div > div > div.cndzk-entrance-division-box > ul.cndzk-entrance-division-box-content > div > li:nth-child(1)")
                .click();
        //输入详细地址信息
        chromeDriver.findElementByXPath("//*[@id=\"cndzkEntrance\"]/div[4]/div/div/textarea").clear();
        chromeDriver.findElementByXPath("//*[@id=\"cndzkEntrance\"]/div[4]/div/div/textarea").sendKeys("xxxxx");
        //输入收货人姓名
        chromeDriver.findElementByXPath("//*[@id=\"cndzkEntrance\"]/div[4]/div/div/textarea").clear();
        chromeDriver.findElementByXPath("//*[@id=\"cndzkEntrance\"]/div[4]/div/div/textarea").sendKeys("XXX");
        //输入手机号
        chromeDriver.findElementByXPath("//*[@id=\"mobile\"]").clear();
        chromeDriver.findElementByXPath("//*[@id=\"mobile\"]").sendKeys("1903083");
        //保存收获地址
        chromeDriver.findElementByXPath("//*[@id=\"myForm\"]/div[5]/div[2]/button/span").click();
        //选择收货地址
        chromeDriver.findElementByXPath("//*[@id=\"addressPC_1\"]/div[3]/div[1]/div[1]").click();
        //提交订单
        //提交订单信息在浏览器中未展示,需要下拉页面,用cssSelector定位
        chromeDriver.findElementByCssSelector("#submitOrderPC_1 > div > a").click();
        //等待跳转支付页面
        wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.xpath("//*[@id=\"header\"]/div/div[1]/span[1]/s")));
        //输入支付密码
        WebElement alipayPasswdFream = chromeDriver.findElementByXPath("//*[@id=\"payPassword_container\"]/div");
        //将密码输入框下的元素放入list中
        List<WebElement> ilist = alipayPasswdFream.findElements(By.tagName("i"));
        for (int i = 0; i < ilist.size(); i++) {
            WebElement iElement = ilist.get(i);
            iElement.sendKeys("1");
        }
        //确认付款
        chromeDriver.findElementByXPath("//*[@id=\"J_authSubmit\"]").click();
        //关闭浏览器
        chromeDriver.close();
    }

}

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-05 10:46:11  更:2021-09-05 10:46:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 12:35:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码