Args: xhr_url_regexes: 拦截xhr接口,支持正则,数组类型 **kwargs:
(self, xhr_url_regexes: list = None, **kwargs)
| 70 | } |
| 71 | |
| 72 | def __init__(self, xhr_url_regexes: list = None, **kwargs): |
| 73 | """ |
| 74 | |
| 75 | Args: |
| 76 | xhr_url_regexes: 拦截xhr接口,支持正则,数组类型 |
| 77 | **kwargs: |
| 78 | """ |
| 79 | super(SeleniumDriver, self).__init__(**kwargs) |
| 80 | self._xhr_url_regexes = xhr_url_regexes |
| 81 | self._driver_type = self._driver_type or SeleniumDriver.CHROME |
| 82 | |
| 83 | if self._xhr_url_regexes and self._driver_type != SeleniumDriver.CHROME: |
| 84 | raise Exception( |
| 85 | "xhr_url_regexes only support by chrome now! eg: driver_type=SeleniumDriver.CHROME" |
| 86 | ) |
| 87 | |
| 88 | if self._driver_type == SeleniumDriver.CHROME: |
| 89 | self.driver = self.chrome_driver() |
| 90 | |
| 91 | elif self._driver_type == SeleniumDriver.EDGE: |
| 92 | self.driver = self.edge_driver() |
| 93 | |
| 94 | elif self._driver_type == SeleniumDriver.PHANTOMJS: |
| 95 | self.driver = self.phantomjs_driver() |
| 96 | |
| 97 | elif self._driver_type == SeleniumDriver.FIREFOX: |
| 98 | self.driver = self.firefox_driver() |
| 99 | |
| 100 | else: |
| 101 | raise TypeError( |
| 102 | "dirver_type must be one of CHROME or PHANTOMJS or FIREFOX, but received {}".format( |
| 103 | type(self._driver_type) |
| 104 | ) |
| 105 | ) |
| 106 | |
| 107 | # driver.get(url)一直不返回,但也不报错的问题,这时程序会卡住,设置超时选项能解决这个问题。 |
| 108 | self.driver.set_page_load_timeout(self._timeout) |
| 109 | # 设置10秒脚本超时时间 |
| 110 | self.driver.set_script_timeout(self._timeout) |
| 111 | self.url = None |
| 112 | |
| 113 | def __enter__(self): |
| 114 | return self |
nothing calls this directly
no test coverage detected