selenium-电商Web前台购物流程自动化

import time
from selenium import webdriver
from selenium.webdriver.support.select import Select

# 1.登录
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.maximize_window()

driver.get("http://172.0.0.1/index.php?m=user&c=public&a=login")
driver.find_element_by_id("username").send_keys("yaya")
driver.find_element_by_id("password").send_keys("123456")
driver.find_element_by_class_name("login_btn").click()

time.sleep(3)

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

# 3.搜索“iphone”
driver.find_element_by_name("keyword").send_keys("iphone")
driver.find_element_by_class_name("btn1").click()

# 4.点击商品图片
driver.find_element_by_xpath("/html/body/div[3]/div[2]/div[3]/div[1]/div[1]/a/img").click()

# 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,去购物车结算
driver.find_element_by_class_name("shopCar_T_span3").click()
# 点击“结算”
driver.find_element_by_css_selector(".shopCar_btn_03.fl").click()

# 8.添加新地址
driver.find_element_by_class_name("add-address").click()

# 9.收货人姓名
driver.find_element_by_name("address[address_name]").send_keys("yaya")

# 10.输入手机号
driver.find_element_by_name("address[mobile]").send_keys("13612563478")

# 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.选择--地区
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('大街1号')

#15.输入邮编
driver.find_element_by_name('address[zipcode]').send_keys('721405')

#16.点击确定
driver.find_element_by_xpath("/html/body/div[1]/div/table/tbody/tr[2]/td[2]/div/table/tbody/tr[3]/td/div/button[1]").click()

  

 

遇见问题:

1、出现分页,当出现分页时需要把定位的页面进行切换,具体方法:

# 5.1.找到新窗口的名字,new_window是一个列表,[-1]是定位到最后一个页签
new_window = driver.window_handles[-1]
# 5.2.切换到新窗口、
driver.switch_to.window(new_window)

2、出现界面有下拉框进行选择时,此时定位不到元素,需要进行转换:

from selenium.webdriver.support.select import Select

sheng = driver.find_element_by_id("add-new-area-select")
Select(sheng).select_by_visible_text("广东省")

3、当页面打开较慢,存在不稳定性时,需要加延时

import time

time.sleep(3)

 

posted @ 2019-05-31 19:44  秋刀鱼Q  阅读(677)  评论(0编辑  收藏  举报