@@ -31,6 +31,7 @@ def __init__(
3131 driver_type = PHANTOMJS ,
3232 timeout = 16 ,
3333 window_size = (1024 , 800 ),
34+ executable_path = None ,
3435 ):
3536 """
3637
@@ -43,6 +44,7 @@ def __init__(
4344 @param proxy xxx.xxx.xxx.xxx:xxxx 或 返回代理的函数
4445 @param timeout: 请求超时时间 默认16s
4546 @param window_size: 屏幕分辨率 (width, height)
47+ @param executable_path: 浏览器路径,默认为默认路径
4648 """
4749 self ._load_images = load_images
4850 self ._user_agent = (
@@ -53,6 +55,7 @@ def __init__(
5355 self ._headless = headless
5456 self ._timeout = timeout
5557 self ._window_size = window_size
58+ self ._executable_path = executable_path
5659
5760 self .proxies = {}
5861 self .user_agent = None
@@ -120,7 +123,12 @@ def chrome_driver(self):
120123 "--window-size={},{}" .format (self ._window_size [0 ], self ._window_size [1 ])
121124 )
122125
123- driver = webdriver .Chrome (chrome_options = chrome_options )
126+ if self ._executable_path :
127+ driver = webdriver .Chrome (
128+ chrome_options = chrome_options , executable_path = self ._executable_path
129+ )
130+ else :
131+ driver = webdriver .Chrome (chrome_options = chrome_options )
124132
125133 driver .execute_cdp_cmd (
126134 "Page.addScriptToEvaluateOnNewDocument" ,
@@ -154,9 +162,16 @@ def phantomjs_driver(self):
154162 if not self ._load_images :
155163 service_args .append ("--load-images=no" )
156164
157- driver = webdriver .PhantomJS (
158- service_args = service_args , desired_capabilities = dcap
159- )
165+ if self ._executable_path :
166+ driver = webdriver .PhantomJS (
167+ service_args = service_args ,
168+ desired_capabilities = dcap ,
169+ executable_path = self ._executable_path ,
170+ )
171+ else :
172+ driver = webdriver .PhantomJS (
173+ service_args = service_args , desired_capabilities = dcap
174+ )
160175
161176 if self ._window_size :
162177 driver .set_window_size (self ._window_size [0 ], self ._window_size [1 ])
0 commit comments