MCPcopy Create free account
hub / github.com/Boris-code/feapder / __init__

Method __init__

feapder/utils/webdriver/selenium_driver.py:72–111  ·  view source on GitHub ↗

Args: xhr_url_regexes: 拦截xhr接口,支持正则,数组类型 **kwargs:

(self, xhr_url_regexes: list = None, **kwargs)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 4

chrome_driverMethod · 0.95
edge_driverMethod · 0.95
phantomjs_driverMethod · 0.95
firefox_driverMethod · 0.95

Tested by

no test coverage detected