web购物自动化脚本

本文介绍了如何利用Chrome浏览器进行Web购物的自动化脚本编写,通过高效利用Chrome的相关工具和功能,提高网购效率。
摘要由CSDN通过智能技术生成

----------------------------------------------Chromeutil----------------------------------------------

#-*- coding:utf-8 -*-
#导包
from selenium import webdriver
#导入休眠包
import time
#导入枚举包
from enum import Enum
#导包
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
#定义类继承单元测试
class Chrome(object):
    #打开浏览器
    def chrome_start(self,url):

        # 打开浏览器
        self.driver=webdriver.Chrome(executable_path="D:\google\Chrome\Application\chromedriver.exe")
        #设置最大化
        self.driver.maximize_window()
        #打开指定网站
        self.driver.get(url)
        #设置休眠
        self.TimeSleep(ENUMS.FIVE_TIME)
        pass
    #关闭浏览器
    def chrome_close(self):
        #关闭
        self.driver.quit()
        pass
    #静态休眠
    def TimeSleep(self,number):

        time.sleep(number)

        pass
    #隐式休眠
    def TimePlay(self,number):

        self.driver.implicitly_wait(number)

        pass

    #查找控件方式8种
    def FindID(self,ID):

        # 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
        ids=(By.ID,ID)
        #休眠
        WebDriverWait(self.driver,ENUMS.TWENTY_TIME,ENUMS.ONE_HALF).until(EC.presence_of_element_located(ids))

        return self.driver.find_element_by_id(ID)
    #根据id设置点击事件
    def ClickID(self,ID):
        self.FindID(ID).click()

    #输入内容
    def SendkeysID(self,ID,message):

        self.FindID(ID).send_keys(message)
        # 查找控件方式8种
    def FindName(self,name):
        # 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
        names=(By.NAME,name)
        # 休眠
        WebDriverWait(self.driver,ENUMS.TWENTY_TIME,ENUMS.ONE_HALF).until(EC.presence_of_element_located(names))

        return self.driver.find_element_by_name(name)
        # 根据id设置点击事件
    def ClickName(self,name):
        self.FindName(name).click()
        #输入内容
    def SendkeysName(self,name,message):
        self.FindName(name).send_keys(message)

    def FindClass(self,cls):

        clss=(By.CLASS_NAME,cls)

        WebDriverWait(self.driver,ENUMS.TWENTY_TIME,ENUMS.ONE_HALF).until(EC.presence_of_element_located(clss))

        return self.driver.find_element_by_class_name(cls)
    #设置点击事件
    def ClickClass(self,cls):
        self.FindClass(cls).click()

    def SendkeysClass(self,cls,message):

        self.FindClass(cls).send_keys(message)
    def Finfxpath(self,xpath):
        # 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
        xpaths=(By.XPATH,xpath)
        WebDriverWait(self.driver,ENUMS.TWENTY_TIME,ENUMS.ONE_HALF).until(EC.presence_of_element_located(xpaths))
        return self.driver.find_element_by_xpath(xpath)

    def FindXpaths(self,xpath):

        # 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,
        xpaths=(By.XPATH,xpath)

        #休眠
        WebDriverWait(self.driver,ENUMS.TWENTY_TIME,ENUMS.ONE_HALF).until(EC.presence_of_element_located(xpaths))

        return self.driver.find_elements_by_xpath(xpath)

    def Clickxpath(self,xpath):
        self.Finfxpath(xpath).click()

    def SendkeysXpath(self,xpath,message):
        self.Finfxpath(xpath).send_keys(message)

    def FindLink(self,link):
        links=(By.LINK_TEXT,link)
        WebDriverWait(self.driver,ENUMS.TWENTY_TIME,ENUMS.ONE_HALF).until(EC.presence_of_element_located(links))
        return self.driver.find_element_by_link_text(link)

    def FindLinks(self,link):
        links=(By.LINK_TEXT,link)
        WebDriverWait(self.driver,ENUMS.TWENTY_TIME,ENUMS.ONE_HALF).until(EC.presence_of_element_located(links))
        return self.driver.find_elements_by_link_text(link)

        # 点击下标

    def ClickLinks(self, link, index):
        self.FindLinks(link)[index].click()

    def ClickLink(self,link):
        self.FindLink(link).click()

    def sendkeysLink(self,linl,message):
        self.FindLink(linl).send_keys(message)

    # 查找控件方式 8 种

    def FindPaty(self, link):
        # 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,

        links = (By.PARTIAL_LINK_TEXT, link)

        # 休眠
        WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(links))

        return self.driver.find_element_by_partial_link_text(link)

        # 根据id设置点击事件

    def ClickPart(self, link):
        self.FindPaty(link).click()

        # 输入内容

    def SendkeysPart(self, linl, message):
        self.FindPaty(linl).send_keys(message)

        # 查找控件方式 8 种

    def FindTag(self, tag):
        # 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,

        tags = (By.TAG_NAME, tag)

        # 休眠
        WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(tags))

        return self.driver.find_element_by_tag_name(tag)

        # 根据id设置点击事件

    def ClickTag(self, tag):
        self.FindTag(tag).click()

        # 输入内容

    def SendkeysTag(self, tag, message):
        self.FindTag(tag).send_keys(message)

    # 查找控件方式 8 种

    def FindCss(self, css):
        # 使用显示休眠,一共休眠20秒,每隔0.5秒休眠一次,

        csses = (By.CSS_SELECTOR, css)

        # 休眠
        WebDriverWait(self.driver, ENUMS.TWENTY_TIME, ENUMS.ONE_HALF).until(EC.presence_of_element_located(csses))

        return self.driver.find_element_by_css_selector(css)

        # 根据id设置点击事件

    def ClickCss(self, css):

        self.FindCss(css).click()

        # 输入内容
    def SendkeysCss(self, css, message):

        self.FindCss(css).send_keys(message)

    #获取title
    def getTitle(self):

        return self.driver.title

    #获取当前窗口
    def getCurrent_Window(self):

        return self.driver.current_window_handle

    #切换窗口的方法
    def switch_to_window(self,current):

        #获取所有的窗口
        allwindows
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值