在带有Python的Selenium
Webdriver中,我想等待Ajax请求完成(jquery库)。我使用Selenium的wait.until()函数。单击submitJquery按钮后,Ajax请求开始。
wait.until(self.driver.execute_script("return jQuery.active == 0"))
但我得到以下错误:
E
======================================================================
ERROR: test_MahsumAkbasNet_Pass (__main__.TestClass)
----------------------------------------------------------------------
Traceback (most recent call last):
File "D:\xxx\src\unittestpackage\JavaScriptExec.py", line 24, in test_MahsumAkbasNet_Pass
wait.until(self.driver.execute_script("return jQuery.active == 0"))
File "C:\Python27\lib\site-packages\selenium\webdriver\support\wait.py", line 66, in until
value = method(self._driver)
TypeError: 'bool' object is not callable
----------------------------------------------------------------------
Ran 1 test in 14.449s
FAILED (errors=1)
完整的代码是:
# -*- coding: UTF-8 -*-
import unittest
import time
import datetime
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
class TestClass(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.set_page_load_timeout(30)
self.driver.maximize_window()
def test_MahsumAkbasNet_Pass(self):
wait = WebDriverWait(self.driver, 30)
self.driver.get("http://www.mahsumakbas.net/selenium")
self.driver.find_element_by_id("submitJquery").click()
wait.until(self.driver.execute_script("return jQuery.active == 0"))
print "Jquery is completed"
def tearDown(self):
self.driver.close()
if __name__ == '__main__':
unittest.main()
提前致谢。
您需要将 可调用对象 传递给wait.until()
:
wait.until(lambda driver: driver.execute_script("return jQuery.active == 0"))
本文向大家介绍php检查是否是ajax请求的方法,包括了php检查是否是ajax请求的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php检查是否是ajax请求的方法。分享给大家供大家参考。具体如下: 通过这段代码可以判断用户的请求是否来自AJAX XMLHttpRequest,以区别普通post,get和ajax 希望本文所述对大家的php程序设计有所帮助。
问题内容: 有没有一种方法可以检查Python中的请求是否为AJAX? 相当于PHP的? 问题答案: 如果AJAX框架在其请求中设置了X-Requested-With标头,则您将能够使用该标头来检测AJAX调用。这取决于客户端框架。 掌握HTTP标头取决于您选择的Python框架。在Django中,对象具有可以直接使用的方法。
问题内容: 我想检查服务器端是否对我的php页面的请求是ajax请求。 我看到了两种方法可以做到这一点: 第一种方法:在请求中发送一个参数,该参数告诉页面这是AJAX请求(= ) mypage.php: 第二种方式:将标头设置为: 客户端js: mypage.php: 事实是,这两种方法很容易被黑,因此检查我是否收到这样的AJAX请求并不安全。 如何检查我是否收到AJAX请求? 问题答案: 没有确
问题内容: 我一直在通过执行以下操作来确保我的AJAX请求成功: 检查状态变量是执行此操作的最佳方法,还是有一种更好的方法来确保请求实际通过?我正在考虑“成功”请求是一个成功命中我要发布到的页面的请求,而不会超时(例如,服务器已关闭,并且在出现故障之前立即进行了AJAX请求)或返回任何404或500错误。 问题答案: 通过这样调用,您将仅自动传递一个函数。 如果请求中出现问题,则甚至不会执行此方法
问题内容: 检测下载是否完成的最佳方法是什么,因为此后我想更新数据库。 我尝试了PHP手册中的一些代码,但对我来说并没有多大作用: 问题答案: 但这并不能真正告诉您用户是否已完成下载。当 您 完成向用户发送字节后,它将告诉您,但它并没有说明用户实际收到了多少字节。 实际上,PHP(服务器端而非客户端语言)无法真正检测文件下载何时完成。最好的办法是在下载开始时将下载记录在数据库中。如果您绝对,完全和
问题内容: 在我的动作中,我只希望响应从AJAX请求中调用的处理。我该如何检查? 我想做这样的事情: 问题答案: 您可以检查是否为AJAX请求。这是一篇很好的文章。 这是一个例子: