首页 > 编程语言 >电商网站Web自动化测试实战( 编写京东搜索脚本python+selenium框架)

电商网站Web自动化测试实战( 编写京东搜索脚本python+selenium框架)

时间:2023-02-13 22:55:28浏览次数:55  
标签:Web selenium driver find 搜索 element div 电商 京东

电商网站Web自动化测试实战( 编写京东搜索脚本)

1,打开京东页

京东首页地址:https://www.jd.com/,故进入京东首页如下:

2,打开浏览器开发者模式

定位元素前需先打开浏览器开发者模式,查看页面源码

例-打开chrome开发者模式:

  windows:快捷键F12

  Mac ios :快捷键option+command+i

image.png
3,元素定位

元素定位方法可参考:https://www.cnblogs.com/mini-monkey/p/12074940.html

一般元素id存在时,先根据id定位,其次是class、name属性,然后再是xpath、css等去定位。优先级不一定是这样的,小编一般习惯这样定位,大家可以根据实际情况选择合适的定位方式。(当一种方法无法定位到元素时,可尝试其他方法进行定位)

京东搜索商品加车过程如下:

首页点击搜索框->输入搜索关键词,点击搜索btn->点击商品(进入商详页)->点击“加入购物车”加车

实现搜索加车自动化操作可根据以上步骤展开编写,京东搜索商品加车脚本如下(以搜索“微波炉”为例):

1676293725022.png

1676293739855.png
备注:由于页面加载需要一定时间,可在需要等待的地方添加等待时间。

实例代码详情

京东搜索加车总代码如下:

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
import unittest

# 访问浏览器
driver=webdriver.Firefox()
# 把浏览器最大化
driver.maximize_window()
# 智能等待 等待的时间是0-6秒
driver.implicitly_wait(6)

#访问百度首页
driver.get("https://www.baidu.com")
sleep(3)
print("百度首页句柄:",driver.current_window_handle)
print("百度首页标题:",driver.title)

# 访问京东网站
driver.get("https://www.jd.com")
# 搜索输入框
search_ele = driver.find_element(By.ID, 'key')
# 输入关键字-微波炉
search_ele.send_keys("微波炉")
# 点击搜索btn
button = driver.find_element(By.CLASS_NAME,"button").click()
sleep(1)

# 滑动至商品可见
# driver.execute_script("window.scrollBy(0,600)")
driver.find_element(by=By.XPATH,value="/html/body/div[5]/div[2]/div[2]/div[1]/div/div[2]/ul/li[1]").click()
sleep(3)
# 点击第一个商品-进入商详页:
ele=driver.find_element(by=By.XPATH,value="/html/body/div[5]/div[2]/div[2]/div[1]/div/div[2]/ul/li[1]/div/div[1]/a/img")
ele.click()

windows = driver.window_handles
# 切换至商详窗口
driver.switch_to.window(windows[-1])
# 向下滑动500个像素
driver.execute_script("window.scrollTo(0,500)")
# 点击加入购物车
driver.find_element(By.ID,"InitCartUrl").click()
  • (滑动至商品可见)与(点击第一个商品-进入商详页)的解决方案
driver.find_element(BY.xxx,yyyy).click()
分2步写:
ele=driver.find_element(BY.xxx,yyyy)
ele.click()

标签:Web,selenium,driver,find,搜索,element,div,电商,京东
From: https://www.cnblogs.com/kasia/p/17118189.html

相关文章

  • 语音通话视频通话界面实现,用于展示出webRTC实时聊天媒体流,CSS实现效果
    在开发webRTC的语音和视频通话功能的时候,需要展示出媒体流,这样就需要一个下面这样的效果  html部分代码<!--视频--><divclass="remoteVideoMask......
  • zoonavigator 基于web 的zookeeper 可视化管理工具
    zoonavigator是一个面向web的zk可视化工具管理,很方便,对于我们学习查看dremio对于zk的使用比较方便比如执行节点,锁,数据源处理运行推荐基于docker dock......
  • Selenium Python 问题汇总
    1.在自动化打开浏览器后会长时间加载,此时使用如下命令解决:driver.set_page_load_timeout(20)#设置浏览器超时加载时间driver.set_script_timeout(20)#这两种设置都进......
  • Web标准
    Web标准的构成主要包括结构(Structure)、表现(Presentation)和行为(Behavior)三个方面。结构:对网页元素进行整理和分类,现阶段主要学的是HTML。表现:用于设置网页元素的版式......
  • 开学考--MIS系统(javaweb的开学练习--网络新闻发布系统)
    关于本次考试的相关理解看到题目的时候,第一反应是这道题不难,之前已经做过十分类似的题目了,然后对于难度是很有自信的(当然,对于用户的权限管理部分,还是很懵);而第二反应就是,......
  • JavaWeb课堂测试(一)
    一、数据库构建  创建一个用户表,存储用户名和密码  创建数据表,存储数据二、jdbc连接数据库packageutil;importjava.sql.Connection;importjava.sql.Driver......
  • 028_测试_测试类中启动 web 环境
    修改pom.xml的依赖  WebTest.java ......
  • 跨境电商中有哪些容易踩坑的点?
    米贸搜做外贸做了10多年,从最初仅会通过展会开发客户,再到现在利用跨境电商平台和Facebook、领英等自主开发客户,吸取了很多经验,也踩过很多坑,可以说,对整个的流程都非常了解。对......
  • WebLogAspect
    package***;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.serializer.SerializerFeature;importcom.google.common.collect.Maps;importlombo......
  • Bus集成webhooks实现自动刷新
    文章目录​​1、配置webhooks​​​​2、下载natapp客户端之后​​​​3、在远程仓库中添加webhooks​​​​4、自动刷新测试​​​​4.1在测试之前先访问测试的controller......