2-5三种等待
三种等待
课后作业: 添加商品到购物车流程的自动化实现。商品推荐使用iPhone 6 plus的手机商品来实现流程
1 # 课后作业: 2 # 1. 添加商品到购物车流程的自动化实现。商品推荐使用iPhone 6 plus的手机商品来实现流程 3 # 定位到搜索框,搜索iPhone 6 plus 4 from time import sleep 5 6 from selenium import webdriver 7 8 # 获取浏览器驱动 9 from selenium.webdriver.support.wait import WebDriverWait 10 11 driver=webdriver.Chrome() 12 #访问商城的url 13 14 driver.get('http://39.98.138.157/shopxo/index.php') 15 #浏览器最大化 16 driver.maximize_window() 17 driver.implicitly_wait(10) 18 19 20 def login(): 21 #点击登录,进入登录页面 22 driver.find_element('xpath','//div[@class="menu-hd"]/a[text()="登录"]').click() 23 sleep(2) 24 #输入用户名 25 driver.find_element('xpath','//input[@name="accounts"]').send_keys('18700000000') 26 #输入密码 27 driver.find_element('xpath','//input[@name="pwd"]').send_keys('18700000000') 28 #点击登录按钮 29 driver.find_element('xpath','//button[text()="登录"]').click() 30 WebDriverWait(driver,10,0.5).until( 31 lambda el:driver.find_element('xpath','//p[text()="登录成功"]'),message='登录失败' 32 ) 33 def AddToCart(): 34 #点击搜索框 35 driver.find_element('id','search-input').click() 36 #在搜索框中输入iPhone 6 plus 37 driver.find_element('id','search-input').send_keys('iPhone 6 plus') 38 #点击搜索按钮 39 driver.find_element('id','ai-topsearch').click() 40 #点击手机图标 41 driver.find_element('xpath','//p[text()="苹果(Apple)iPhone 6 Plus (A1524)移动联通电信4G手机 金色 16G"]').click() 42 print(driver.title) 43 #获取到所有句柄 44 hds=driver.window_handles 45 # 切换句柄 46 driver.switch_to.window(hds[1]) 47 print(driver.title) 48 #选择套餐 49 driver.find_element('xpath','//li[@data-value="套餐一"]').click() 50 sleep(2) 51 #选择颜色 52 driver.find_element('xpath','//li[@data-value="银色"]').click() 53 sleep(2) 54 #选择容量 55 driver.find_element('xpath','//li[@data-value="32G"]').click() 56 #设置数量 57 driver.find_element('xpath','//input[@type="number"]').clear() 58 driver.find_element('xpath','//input[@type="number"]').send_keys(2) 59 # 点击加入购物车 60 driver.find_element('xpath','//button[@title="加入购物车"]').click() 61 #判断是否加入购物车成功 //p[text()="加入成功"] 62 63 WebDriverWait(driver,10,0.5).until( 64 lambda el:driver.find_element('xpath','//p[text()="加入成功"]'),message='加入失败' 65 ) 66 #调用登录方法 67 login() 68 #调用加入购物车的方法 69 AddToCart()