Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Selenium中捕获通过JavaScript启动的GET请求?_Python_Selenium - Fatal编程技术网

Python 如何在Selenium中捕获通过JavaScript启动的GET请求?

Python 如何在Selenium中捕获通过JavaScript启动的GET请求?,python,selenium,Python,Selenium,当您单击此特定页面上的某些链接时,GET请求由javascript启动。在本例中,它是一个文件,因此当您单击它时,webdriver.Firefox会显示一个对话框窗口,询问您是否要下载该文件 是否可以直接捕获GET请求并将其保存到磁盘或以其他方式自动化对话框窗口 如果它是一个操作系统对话框,不,你不能用Selenium来操作它,你需要一个库,它可以为你提供直接连接到操作系统的钩子。要捕获请求,您需要使用一个代理来捕获流量,然后使用另一个接口与代理交互以检查请求,或者,您可以通过Selenium

当您单击此特定页面上的某些链接时,GET请求由javascript启动。在本例中,它是一个文件,因此当您单击它时,webdriver.Firefox会显示一个对话框窗口,询问您是否要下载该文件


是否可以直接捕获GET请求并将其保存到磁盘或以其他方式自动化对话框窗口

如果它是一个操作系统对话框,不,你不能用Selenium来操作它,你需要一个库,它可以为你提供直接连接到操作系统的钩子。要捕获请求,您需要使用一个代理来捕获流量,然后使用另一个接口与代理交互以检查请求,或者,您可以通过Selenium注入一些JS,修改按钮的行为以将链接返回给您,而不是通过浏览器导航到链接。

通过代理进行操作似乎是更简单的方法。您是否有一个代理的想法,它可以处理这个问题,然后还可以检查请求?使用代理做这件事是非常重要的。我们一直在研究同一问题领域的解决方案,但尚未找到解决方案。虽然有许多简单的Python http代理可以通过Google获得,但您只需找到一个带有该代理的代理,或者在其上编写一个好的API即可检索所需的请求。