#web自动化基本代码
#1.导入模块
import time
from selenium import webdriver
#鼠标操作导包
from selenium.webdriver import ActionChains
#2.实例化浏览器对象:类名()
driver = webdriver.Chrome()
#3.打开网页:必须包含协议头
driver.get("http://demo6.tp-shop.cn/")
#窗口最大化
driver.maximize_window()
#整理cookie信息为字典数据
cookies_value = ({'name':'PHPSESSID','value':'31g8imbjk2ocvekrumjm042el2'})
#调用方法,添加cookie信息
driver.add_cookie(cookies_value)
#刷新页面,发送cookie信息给服务器验证
driver.refresh()
#获取登录后的页面和地址
print("页面地址:",driver.current_url)
#获取当前页面标题
print("页面标题:",driver.title)
time.sleep(3)
#定位搜索框类型选择,商品或店铺
#search_type = driver.find_element_by_id("select-h")
#实例化鼠标对象(关联浏览器对象)、
action = ActionChains(driver)
# 鼠标悬停触发隐藏元素商品或店铺
action.move_to_element(search_type)
#执行鼠标操作
action.perform()
#设置隐式等待,直至商品出现
driver.implicitly_wait(10)
#定位隐藏元素店铺
seareah_shop = driver.find_element_by_link_text("商品")
#点击隐藏元素店铺
seareah_shop.click()
#定位搜索框
search_field = driver.find_element_by_id("q")
search_field.send_keys("李宁羽绒服")
time.sleep(3)
#点击搜索
search_buttom = driver.find_element_by_class_name("ecsc-search-button")
search_buttom.click()
#定位羽绒服,并点击
linning_shop = driver.find_element_by_class_name("lazy")
linning_shop.click()
time.sleep(3)
#获取搜索错误警告弹窗
shop_alert = driver.switch_to.alert
#获取弹窗的文本信息
shop_alert.text
#确定警告弹窗
shop_alert.accept()
#查看衣服部分图片
dress_some_pictures = driver.find_element_by_class_name("small-pic-li")
action.move_to_element(dress_some_pictures).perform()
#选择S码
choice_dress_size = driver.find_element_by_id("goods_spec_a_2")
choice_dress_size.click()
#选择数量
dress_number = driver.find_element_by_id("number")
#鼠标双击选中
action.double_click(dress_number)
#对元素进行进行删除
#dress_number.clear()
#修改数量为2
dress_number.send_keys(2)
time.sleep(3)
#加入购物车
shopping_cart = driver.find_element_by_id("join_cart")
shopping_cart.click()
time.sleep(3)
#获取温馨提示弹窗
Reminder = driver.find_element_by_class_name("layui-layer-title")
Reminder.driver.switch_to.frame('layui-layer1')
#跳转购物车结算界面
shopping_cart_settlement = driver.find_element_by_class_name("ui-button-122")
shopping_cart_settlement.click()
#4.观察效果
time.sleep(3)
#5.关闭页面
driver.quit()