zoukankan      html  css  js  c++  java
  • Python Selenium — 封装浏览器引擎类

    一、前言

      记录下封装浏览器引擎类的写法,本篇是参考以下2篇博客:

    • https://blog.csdn.net/u011541946/article/details/70171401
    • https://www.cnblogs.com/yudx/p/11864786.html

      封装浏览器引擎类后,可以通过更改一个字符串的值,利用if语句去判断和控制启动那个浏览器。这里我们暂时,支持两大浏览器(Chrome,Firefox)。

    这里有一个前提条件,在基础篇中,启动三大浏览器的driver文件,检查下你的Python安装路径下有没有这三个driver插件,如果没有,自行百度下。

    二、封装浏览器引擎

      在CommonMethod目录下新建browser_engine.py文件,代码如下:

    from selenium import webdriver
    
    class BrowserEngine(object):
        '''定义一个浏览器引擎,根据browser_type的值去,控制启动不同的浏览器,这里主要是firefox,chrome'''
        def __init__(self, driver):
            self.driver = driver
    
        browser_type = "Chrome"
    
        def get_browser(self):
            '''通过if语句,来控制初始化不同浏览器的启动,默认是启动firefox'''
            if self.browser_type == "Firefox":
                driver = webdriver.Firefox()
            elif self.browser_type == "Chrome":
                driver = webdriver.Chrome()
            else:
                driver = webdriver.Firefox()
            driver.maximize_window()
            driver.implicitly_wait(10)
            return driver

    三、测试调用

      在testcase目录下新建test.py文件,进行测试调用。

    from CommonMethod.browser_engine import BrowserEngine
    
    class TestB(object):
        def open_browser(self):
            browserengine = BrowserEngine(self)
            self.driver = browserengine.get_browser()
            self.driver.get("https://blog.csdn.net")
    t = TestB()
    t.open_browser()

    四、总结

      目前,自定义的浏览器引擎类到这里就封装好了,如需要打开不同浏览器,只需要手动修改引擎类中browser_type的值。

  • 相关阅读:
    PHP保留小数的相关方法
    ASP.NET Core MVC 之过滤器(Filter)
    ASP.NET Core MVC 之控制器(Controller)
    ASP.NET Core MVC 之视图组件(View Component)
    ASP.NET Core MVC 之局部视图(Partial Views)
    标签助手(TagHelper)
    ASP.NET Core MVC 之布局(Layout)
    ASP.NET Core MVC 之视图(Views)
    ASP.NET Core MVC 之模型(Model)
    九卷读书:淘宝从小到大的发展 -重读《淘宝技术这十年》
  • 原文地址:https://www.cnblogs.com/Chilam007/p/15416453.html
Copyright © 2011-2022 走看看