from selenium import webdriver
from selenium.webdriver.firefox.service import Service
from selenium.webdriver.common.by import By
import time
class autopurchase(webdriver.Firefox):
def __init__(self):
super(autopurchase, self).__init__()
self.openweb()
self.auto_click_purchase()
self.type_select()
self.purchase()
# 打开网址
def openweb(self):
self.s = Service('D:\\autopurchase\\geckodriver.exe')
self.driver = webdriver.Firefox(service=self.s)
self.url = u'https://www.apple.com.cn/iphone-14-pro'
self.driver.get(self.url)
self.implicitly_wait(10)
time.sleep(1)
# 模拟点击购买
def auto_click_purchase(self):
self.click_purchase = self.driver.find_element(By.XPATH,value='/html/body/nav[2]/div/div[2]/div[2]/div[2]/div[2]/a')
self.driver.implicitly_wait(10)
self.click_purchase.click()
# 跳转到‘https://www.apple.com.cn/shop/buy-iphone/iphone-14-pro’页面
# 选择类型
def type_select(self):
# 选择pro类型
self.driver.implicitly_wait(10)
self.elem_pro = self.driver.find_element(By.XPATH,value='/html/body/div[2]/div[4]/div[4]/div[3]/div[2]/div[2]/div/div[1]/div[1]/div[2]')
self.elem_pro.click()
# 选择颜色
self.driver.implicitly_wait(10)
self.color = self.driver.find_element(By.XPATH,value='/html/body/div[2]/div[4]/div[4]/div[3]/div[2]/div[2]/div/div[2]/div/ul/li[4]')
self.color.click()
# 选择内存
self.driver.implicitly_wait(10)
self.memory = self.driver.find_element(By.XPATH,value='/html/body/div[2]/div[4]/div[4]/div[3]/div[2]/div[2]/div/div[3]/div[1]/div[2]')
self.memory.click()
# 选择是否需要折扣
self.driver.implicitly_wait(10)
self.choose_if_discount = self.driver.find_element(By.XPATH,value='/html/body/div[2]/div[4]/div[4]/div[3]/div[3]/div[1]/div[2]/div[1]/div/div/div/div[2]')
self.choose_if_discount.click()
# 选择是否需要加入applecare计划
self.driver.implicitly_wait(10)
self.choose_if_applecare = self.driver.find_element(By.XPATH,value='/html/body/div[2]/div[4]/div[4]/div[3]/div[3]/div[3]/div/div/div[1]/div[1]/fieldset/div/div/div[2]')
self.choose_if_applecare.click()
# 购买流程
def purchase(self):
self.driver.implicitly_wait(10)
self.add_item = self.driver.find_element(By.NAME,value='add-to-cart')
self.add_item.click()
self.driver.implicitly_wait(10)
self.element_check = self.driver.find_element(By.XPATH,value='/html/body/div[2]/div[4]/div[2]/div/div/div/div[2]/div/form/button')
self.element_check.click()
self.driver.implicitly_wait(10)
self.paymentbtn = self.driver.find_element(By.ID, value='shoppingCart.actions.navCheckout')
self.paymentbtn.click()
# 以游客模式
self.driver.implicitly_wait(10)
self.guest = self.driver.find_element(By.ID, value='signIn.guestLogin.guestLogin')
self.guest.click()
if __name__ == '__main__':
autopurchase()
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) | Powered by Discuz! X3.2 |