前台购物流程

# 说明:实现把商品添加到购物车,再到购物车结算,添加收货地址等功能

1、首先打开浏览器,输入网址和用户名密码登录,并进入商城购物页面

# ********************************
# 功能:实现前台购物车添加商品后结算,添加收货地址
# 说明:实现把商品添加到购物车,再到购物车结算,添加收货地址等功能
# 编写人:       编写时间:
# 修改人:       修改时间:
# ********************************
import time
from selenium import webdriver
import os

#**********************登录********************
#打开浏览器
from selenium.webdriver.support.select import Select

driver=webdriver.Chrome()
driver.implicitly_wait(10)
#打开网址
driver.get("http://localhost:8088/pirate/index.php?m=user&c=public&a=login")
#输入用户名
driver.find_element_by_id("username").send_keys("changcheng")
#输入密码
driver.find_element_by_id("password").send_keys("111111")
#点击登录
driver.find_element_by_class_name("login_btn").click()

# 2.点击”进入商城购物“
driver.find_element_by_link_text("进入商城购物").click()

3、搜索电脑,关键字"windows"

# 3.搜索windows
# 定位方法:by_name
driver.find_element_by_name("keyword").send_keys("windows")
driver.find_element_by_class_name("btn1").click()

4、搜索后点击商品图片

# 4.点击商品图片
# 比较万能的定位方法 xpath  商品的高度和宽度几乎都相同,几乎没有唯一的特点,这时可以用xpath.

driver.find_element_by_xpath("/html/body/div[3]/div[2]/div[3]/div/div[1]/a/img").click()

5、点击完商品图片后,弹窗跳转到新的页面,切换页面并加入购物车

#5.把选择的商品加入购物车
# 5.1、找到新窗口的名字
new_window=driver.window_handles[-1]
# 5.2、切换到新窗口
driver.switch_to.window(new_window)

# 6.把选择的商品加入购物车

driver.find_element_by_id("joinCarButton").click()

7、去购物车结算,使用css_selector方法,有两个类"shopCar_btn_03"和"fl",用点连接,如".shopCar_btn_03.fl"

# 7、去购物车结算。
driver.find_element_by_class_name("other_join").click()
# 点击”结算“
# 元素定位方法:css slector 最重要的一种方法。

driver.find_element_by_css_selector(".shopCar_btn_03.fl").click()

8、添加新地址

# 8.添加新地址
driver.find_element_by_class_name("add-address").click()
# 9.收货人姓名
driver.find_element_by_name("address[address_name]").send_keys("常城")
# 10.收货人手机号
driver.find_element_by_name("address[mobile]").send_keys("15612341234")
# 11.选择收获地区
sheng=driver.find_element_by_id("add-new-area-select")
# 把找到的下拉框强制转化位下拉框的类型,通过可见的山西省去选择。
Select(sheng).select_by_visible_text("山西省")
# 12 选择收货地区---市
shi=driver.find_elements_by_class_name("add-new-area-select")[1]
Select(shi).select_by_visible_text("大同市")
# 13选择地区,找到第三个下拉框,并把下拉框转变为Select类型。
qu=driver.find_elements_by_tag_name("select")[2]
Select(qu).select_by_visible_text("市辖区")
# 14输入具体地址
driver.find_element_by_name("address[address]").send_keys("101胡同")
# 15 添加邮政编码
driver.find_element_by_name("address[zipcode]").send_keys("710638")
# 16 点击提交按钮
driver.find_element_by_class_name("aui_state_highlight").click()
# 该网页地址无法配送,先写到这

重难点问题:

1、点击登陆时报错,复合类名不被允许。invalid selector: Compound class names not permitted。

原因:driver.find_element_by_class_name("login_btn fl").click()

该登录按钮有两个class属性,find_element_by_class_name只能用一个class属性,login_btn 是唯一的。应该用这个。

fl是左对齐的属性,这个很多class都有该属性,不是唯一属性。

应该改为

driver.find_element_by_class_name("login_btn").click()

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值