Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.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:fire需要哪些功能?_Python_Web Services_Selenium - Fatal编程技术网

Python Selenium:fire需要哪些功能?

Python Selenium:fire需要哪些功能?,python,web-services,selenium,Python,Web Services,Selenium,我不熟悉Selenium和web应用程序。如果我的问题太明显,请耐心等我一会儿。这是我的故事 我在Python中编写了一个scraper,它使用Selenium2.0webdriver来抓取AJAX网页。最大的挑战之一(和道德)是我不想烧掉网站的服务器。因此,我需要一种方法来监控我的webdriver在解析的每个页面上触发的请求数 我做了一些谷歌搜索。似乎只有selenium RC提供了这样的功能。然而,我不想仅仅因为这个原因而重写我的代码。作为折衷方案,我决定限制可能导致无头浏览器向服务器发送

我不熟悉
Selenium
和web应用程序。如果我的问题太明显,请耐心等我一会儿。这是我的故事

我在
Python
中编写了一个scraper,它使用
Selenium2.0webdriver
来抓取AJAX网页。最大的挑战之一(和道德)是我不想烧掉网站的服务器。因此,我需要一种方法来监控我的webdriver在解析的每个页面上触发的请求数

我做了一些谷歌搜索。似乎只有
selenium RC
提供了这样的功能。然而,我不想仅仅因为这个原因而重写我的代码。作为折衷方案,我决定限制可能导致无头浏览器向服务器发送请求的方法调用速率

在脚本中,我有以下类型的方法调用:

driver.find_element_by_XXXX()
driver.execute_script()
webElement.get_attribute()
webElement.text
我使用第二个函数滚动到窗口底部并获取AJAX内容,如下所示:

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
根据我的直觉,只有第二个函数会触发请求触发,因为其他函数似乎在解析现有的html内容

我的直觉错了吗?

非常感谢


也许我应该详细说明一下。我正在用
Python
在网站上自动爬行。完成的工作量很小,脚本运行时没有出现大的bug

然而,我的同事提醒我,如果在抓取页面的过程中,我在短时间内对AJAX列表提出了太多的请求,我可能会被服务器禁止。这就是为什么我开始寻找一种方法来监控脚本中无头
PhantomJS
browswer发出的请求数量

因为我找不到一种方法来监控脚本中请求的数量,所以我做出了上面提到的妥协

因此,我需要一种方法来监视Web驱动程序的请求数 是否在解析的每个页面上触发

据我所知,请求的数量取决于网页的设计,即网页使用的资源和Javascript/AJAX发出的请求。Webdriver将像普通用户一样打开浏览器并加载网页

在Chrome中,您可以使用
Developer Tools
面板检查请求和响应。你可以参考。
Developer Tools
当前的UI设计有所不同,但基本功能仍然相同。或者,您也可以在Firefox中使用
Firebug
插件


更新:


检查请求和响应的另一种方法是使用Wireshark。请参考这些。

嗯……但我正在浏览一个网站。我不能使用开发工具。我正在运行无头浏览器。我知道请求的数量取决于AJAX列表的长度。是否有一个函数可以调用以获取自页面第一次请求以来发出的请求数?我的问题是:哪些函数会触发请求?但是,如果你能帮我回答我上面的问题,那也将是一个公认的答案:)@Mai抱歉,来晚了。刚才我离线了。我已经更新了上面的答案。