from DrissionPage import ChromiumPagepage=ChromiumPage()
WebSocketBadStatusException Traceback (most recent call last)
Input In [28], in <cell line: 1>()
----> 1 page=ChromiumPage()
File ~\anaconda3\lib\site-packages\DrissionPage\_pages\chromium_page.py:33, in ChromiumPage.__init__(self, addr_or_opts, tab_id, timeout, addr_driver_opts)
31 self._page = self 32 address = self._handle_options(addr_or_opts)
---> 33 self._run_browser()
34 super().__init__(address, tab_id) 35 self.set.timeouts(base=timeout)
File ~\anaconda3\lib\site-packages\DrissionPage\_pages\chromium_page.py:73, in ChromiumPage._run_browser(self)
70 raise BrowserConnectError('\n浏览器连接失败,请检查是否启用全局代理。如是,须设置不代理127.0.0.1地址。') 72 ws = ws.json()['webSocketDebuggerUrl'].split('/')[-1]
---> 73 self._browser = Browser(self._chromium_options.address, ws, self)
75 if (is_exist and self._chromium_options._headless is False and 76 'headless' in self._browser.run_cdp('Browser.getVersion')['userAgent'].lower()): 77 self._browser.quit(3)
File ~\anaconda3\lib\site-packages\DrissionPage\_base\browser.py:41, in Browser.__init__(self, address, browser_id, page)
39 self.page = page 40 self.address = address
---> 41 self._driver = BrowserDriver(browser_id, 'browser', address, self)
42 self.id = browser_id 43 self._frames = {}
File ~\anaconda3\lib\site-packages\DrissionPage\_base\chromium_driver.py:233, in BrowserDriver.__init__(self, tab_id, tab_type, address, browser)
231 self._created = True232 BrowserDriver.BROWSERS[tab_id] = self
--> 233 super().__init__(tab_id, tab_type, address)
234 self.browser = browser
File ~\anaconda3\lib\site-packages\DrissionPage\_base\chromium_driver.py:44, in ChromiumDriver.__init__(self, tab_id, tab_type, address)
41 self.method_results = {} 42 self.event_queue = Queue()
---> 44 self.start()
File ~\anaconda3\lib\site-packages\DrissionPage\_base\chromium_driver.py:173, in ChromiumDriver.start(self)
171 """启动连接"""172 self._stopped.clear()
--> 173 self._ws = create_connection(self._websocket_url, enable_multithread=True,
174 suppress_origin=True)175 self._recv_th.start()176 self._handle_event_th.start()
File ~\anaconda3\lib\site-packages\websocket\_core.py:494, in create_connection(url, timeout, class_, **options)
489 websock = class_(sockopt=sockopt, sslopt=sslopt,490 fire_cont_frame=fire_cont_frame,491 enable_multithread=enable_multithread,492 skip_utf8_validation=skip_utf8_validation, **options)493 websock.settimeout(timeout if timeout is not None else getdefaulttimeout())
--> 494 websock.connect(url, **options)
495 return websock
File ~\anaconda3\lib\site-packages\websocket\_core.py:220, in WebSocket.connect(self, url, **options)
216 self.sock, addrs = connect(url, self.sock_opt, proxy_info(**options),217 options.pop('socket', None))219 try:
--> 220 self.handshake_response = handshake(self.sock, addrs, *options)
221 self.connected = True222 except:
File ~\anaconda3\lib\site-packages\websocket\_handshake.py:69, in handshake(sock, hostname, port, resource, **options)
66 send(sock, header_str) 67 dump("request header", header_str)
---> 69 status, resp = _get_resp_headers(sock)
70 success, subproto = _validate(resp, key, options.get("subprotocols")) 71 if not success:
File ~\anaconda3\lib\site-packages\websocket\_handshake.py:135, in _get_resp_headers(sock, success_status)
133 status, resp_headers, status_message = read_headers(sock)134 if status != success_status:
--> 135 raise WebSocketBadStatusException("Handshake status %d %s", status, status_message)
136 return status, resp_headers
WebSocketBadStatusException: Handshake status 403 Forbidden
这个问题看起来是在使用DrissionPage模块时,浏览器启动时遇到了403错误。这通常是由于服务器拒绝处理你的请求,可能是由于权限问题或身份验证失败。
403错误是HTTP协议中的一个状态码,表示服务器理解了客户端的请求,但是拒绝执行此请求。
解决这个问题的方法可能有以下几种:
问题内容: 您能帮我下一个吗?我发现了问题,无法解决。当我使用下一个代码时,浏览器已经启动并且测试通过了: 但是与类和方法相同的消息返回消息:“进程以退出代码0结束”: 如何使用第二种情况(带有方法和类)打开浏览器? 非常感谢您的帮助。 问题答案: 在使用 Selenium 处理Python的 unittest 模块时,您必须考虑以下几个事实: __ 当您传递 密钥时 ,请通过单引号和原始开关提供
问题内容: 我刚接触selenium。我生成了我的第一个Javaselenium测试用例,它已成功编译。但是当我运行该测试时,我得到了以下RuntimeException 请告诉我如何解决此错误。 这是我要运行的Java文件。 我首先通过命令提示符启动了selenium服务器,然后通过另一个命令提示符执行了上述java文件。 第二个问题:我可以右键单击包含selenium的网页上的指定位置。 问题
IE、Firefox、Safari、Chrome 和Opera 等主流浏览器,都具有某种向用户报告JavaScript 错误的机制。默认情况下,所有浏览器都会隐藏此类信息,毕竟除了开发人员之外,很少有人关心这些内容。 因此,在基于浏览器编写JavaScript 脚本时,别忘了启用浏览器的JavaScript 报告功能,以便及时收到错误通知。 17.1.1 IE IE 是唯一一个在浏览器的界面窗体(
我使用的是Selenium 2.53.0Java、Tor 6.0.4和Firefox43。我用Firefoxprofile()加载profile.default归档文件,并用firefox.exe加载Firefoxbinary()来执行tor。Tor启动,但它没有启动,它显示两个错误:无法连接到Tor控制端口和Tor启动失败。
vite 项目启动时打开chrome 浏览器, 报错,怎么改呢? .env
问题内容: 我有一种情况,我想从客户端将数据导出到CSV。我将拥有一个文本框/区域,或用户可以在其中输入数据的任何区域,然后理想情况下,只需单击一下,便会使用该数据更新本地CSV文件。 使用NodeJS与服务器交互及其核心模块(特别是模块)可以轻松实现这一点,但是显然浏览器并没有那么多。 我发现某些节点模块(例如)支持RequireJS的使特定模块在浏览器中工作的方法。因此,对于下划线,我这样做: