PHP webdriver 等待 Ajax 完成执行

2024-03-23

只是想检查 ajax 是否不再执行,但是这方面的文档并不多。

我找到的最接近的答案是:php webdriver selenium 等待ajax https://stackoverflow.com/questions/45597877/phpwebdriver-selenium-wait-for-ajax/48211708#48211708

我尝试调整以下答案中的代码:

public function waitForAjaxComplete()
{

    $wait = new WebDriverWait($driver, 30);
    $wait->until(function(){
        $condition = 'arguments[0].call(null, $.active == 0)';
        if($driver->executeAsyncScript(array(
            'script' => $condition,
            'args' => array()
        ))
        )
            return true;
    }, 10000);
}

但它返回以下内容:

PHP Fatal error:  Uncaught Facebook\WebDriver\Exception\UnknownServerException: java.util.HashMap cannot be cast to java.lang.String in vendor/facebook/webdriver/lib/Exception/WebDriverException.php:114

我尝试过的变体$条件,但它不断返回相同的东西。当然其他人会发现这个解决方案很有用,因为它有助于确定页面容器何时完成通过 Ajax 重新加载新内容,或者只是能够确认 javascript 何时停止使用 php webdriver 在页面上执行


如果您使用 jQuery 执行 AJAX 请求,则可以使用以下命令:

$driver->wait()->until(
    function ($driver) {
        return $driver->executeScript('return jQuery.active === 0;');
    }
);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP webdriver 等待 Ajax 完成执行 的相关文章

  • 使用 Selenium 自动化结帐流程时出现 403

    我正在尝试使用 python 和 selenium 创建一个脚本来自动执行 bestbuy ca 的结帐过程 我一直到达最后阶段 您可以单击以查看最终订单 但当我尝试单击到最后一步时 收到以下 403 禁止消息 如网络响应中所示 是否有服务
  • 无法从 WebDriver 获取正确的控制台日志(Chrome、C#)

    我在 Selenium WebDriver C Chrome 浏览器中编写了以下微测试 它没有用 但这里不是这种情况 Test public void T2 API 001 PrintingAlerts pgactions OpenData
  • 如何从 Selenium 获取元素的属性

    我正在 Python 中使用 Selenium 我想得到 val of a
  • 使用Python Selenium访问网页上的表对象

    一段时间以来 我尝试从网页中提取下表 我正在尝试进入网站上不同页面的 tr 对象 1 8 我设法存储并打开页面 并希望循环遍历表 tbody 其中包含 tr 对象 表示我想要访问的信息行 然而 当运行以下代码时 我只获得所有 8 个页面中的
  • 按索引从下拉列表中选择第一项不起作用。未绑定方法 select_by_index

    我正在尝试单击下拉列表中的第一项 我想使用它的索引值 因为该值每次都可能不同 对于这个特定的测试 我只需要选择下拉列表中的第一项 我尝试过 Select select by index 1 我收到错误 Traceback most rece
  • 使 Selenium 记录 ID,而不是路径

    当我使用FF插件时它记录了我与之交互的元素的路径 如果 DOM 根据用户交互而发生重大更改 元素ID更方便 保证不受影响 我可以记录所有内容并手动更改 ID 的路径 但我想知道是否有更聪明的方法来做到这一点 我认为没有办法做到这一点 根据我
  • Selenium 2:中断页面加载

    我在使用 FirefoxDriver 使用 Selenium 2 0b3 Java API 单击按钮时遇到问题 单击该按钮会将表单发送到网络服务器 然后浏览器会因表单提交而进入新页面 当使用 element click 单击某个元素时 se
  • 如何在 Selenium 中定位具有特定文本的跨度? (使用Java)

    我在使用 java 查找 Selenium 中的 span 元素时遇到问题 HTML 看起来像 div class settings padding span Settings span div 我尝试了以下方法但没有成功 By xpath
  • 带有隐藏输入的 Selenium 文件选择器[type=file]

    我有一个图像文件上传并想测试它硒 java 用户有两个选择 他可以通过从本地计算机拖放来推送图像 也可以单击 浏览 按钮 然后出现浏览器指定的文件选择器 In Selenium我尝试了不同的事情 据我所知Selenium不提供浏览器之外的操
  • 从选定位置导入 Python 模块

    假设我有三个脚本 Main py 包含所有导入 1 py 随机脚本 2 py 随机脚本 pyinstaller F onedir Main py 80mb pyinstaller F onedir 1 py 80mb pyinstaller
  • 在基于 AngularJS 的 Web 应用程序中使用 Selenium

    我逐渐知道 Selenium 是 UI 测试之父 现在我的问题是为什么 Angular 团队开发了 Protractor 对于基于 AngularJS 的 Web 应用程序 Selenium 不能完成同样的工作 Protractor 所做的
  • 如何滚动到 div 元素底部 Selenium Webdriver

    我有一个用例 其中网页上有一个 div 元素 只要您单击链接 它就会出现一个弹出对话框 它不是实际的弹出窗口 它类似于当您单击链接进行检查时在 Facebook 中打开的对话框 对您的帖子的反应等 我使用 Selenium WebDrive
  • 由于 __init__ 构造函数而产生的 Pytest 集合警告

    我一直在使用 Pytest 和 Selenium Web 驱动程序自学测试自动化 我所有的测试函数都在一个名为测试网络 py 它位于名为的目录中tests 我将所有函数分开 并将它们放在一个名为的单独目录中的自己的文件中测试用例 例如 这就
  • Selenium 可以监控 XHR 请求吗

    Selenium 有什么方法可以监控来自应用程序的 XHR 请求 我想创建一个测试 其中测试单击按钮 然后检查是否发出了正确的 Ajax 请求 编辑 如果重要的话我正在使用 PHP Unit 您可以使用 Selenium 捕获网络流量 然后
  • 如何让 selenium 等待页面在 Selenium - Excel VBA 包装器中完全加载?

    Selenium Excel VBA 的包装器使用什么代码或函数 以便程序将等待页面完全加载然后执行其他命令 最新版本在执行所需操作之前隐式等待目标元素存在 例如 driver FindElementById Click 默认情况下会在抛出
  • docker 中的 Capybara headless chrome 返回 DevToolsActivePort 文件不存在

    我正在尝试配置系统测试以使用硒中的无头铬 我有以下水豚配置 spec support capybara rb Capybara server puma Silent true RSpec configure do config config
  • 如何将参数从jenkins传递到selenium

    我正在使用詹金斯和硒 我需要将测试 url 从 jenkins 发送到 selenium 服务器 在常规选项卡下 詹金斯字符串参数 Name APP Default Value http localhost basecode 在构建后操作下
  • Selenium Webdriver - Python - leboncoin - pb 选择带重音的按钮

    我正在尝试在以下网站上自动填写表格 https www leboncoin fr https www leboncoin fr 我用 Selenium IDE 录制了一个脚本 我有一个通过单击 Se 连接器 按钮并填写我的密码和用户名来自动
  • Phantom JS 50% 的时间失败

    我搜索一个文本框 然后尝试用字符串填充它 这是代码 var fname driver FindElement By Name iFirstName 50 if fname null do System Threading Thread Sl
  • Watir 脚本偶尔返回 Net::ReadTimeout 错误

    我有一个 Watir 脚本 偶尔会意外地返回此错误 Net ReadTimeout 我搜索了这个错误并发现这个问题 https stackoverflow com questions 47452276 watir get sometimes

随机推荐

  • matplotlib 图例无法与句柄正常工作

    Matplotlib 可以自动显示图例 也可以通过为其提供绘图句柄来手动显示图例 但不知怎的 后者对我来说不能正常工作 举个例子 legend handles lgh plt plot 0 1 0 1 r lgh plt plot 0 1
  • 使用 searchview 的特定标题(从 api 获取)?

    我想要这样的东西 所以问题是 我真正想要的是当用户在搜索视图中输入特定主题名称 如果存在于应用程序中 时 它应该能够给出建议 如果找到它应该打开该主题活动 就像 Facebook Instagram 等搜索一样 这些标题来自 API 我已在
  • 在Linux中测量C程序缓存命中/未命中和CPU时间的最简单工具?

    我正在用 C 编写一个小程序 我想测量它的性能 我想看看它在处理器中运行了多少时间以及它进行了多少次缓存命中 未命中 有关上下文切换和内存使用情况的信息也很好 该程序的执行时间不到一秒钟 我喜欢 proc pid stat 的信息 但我不知
  • jQuery 不支持选择顶级节点文本?

    每当我需要顶级文本节点时 我必须写这个长故事吗 hello clone children remove end text 为什么没有原生函数支持呢 我不确定为什么没有本地支持 我想你可以把这行笨重的代码变成一个插件 一定有一个比我选择的更好
  • Spark:连接拒绝纱线上的 webapp 代理

    我在 docker 容器上使用 Spark 和 hadoop 我有 3 个容器主容器和 2 个从容器 一切工作正常 但我在运行任务时遇到 Spark 代理 Web 应用程序问题 我可以连接到yarn webapp 但nhttp 172 20
  • 如何将express添加到角度启动器中?

    我一直在使用 webpack 和 Angular 使用 webpack dev server 开发我的 angular2 应用程序 https github com AngularClass angular starter https gi
  • 使用变量定义数组的大小

    这在C语言中有效吗 include
  • Pony ORM 报告记录“在当前事务之外更新”,而没有其他事务

    代码很简单 如下 from pony orm import Required Set Optional PrimaryKey from pony orm import Database db session import time db D
  • 在C#中,将字符串解析为单个字符

    在 C 中 如何将字符串解析为单个字符 Given 词 太棒了 期望的结果 字母 0 W 字母 1 o 字母 2 n 字母 3 d 字母 4 e 字母 5 r 字母 6 f 字母 7 u 字母 8 l Char letters word T
  • TeraData SQL 中“TOP”和“SAMPLE”之间的区别

    TeraData SQL 中的 TOP 和 SAMPLE 有什么区别 它们是一样的吗 From 顶部与样本 http datawarehouse ittoolbox com groups technical functional terad
  • 带有 C++ 代码的 R 包安装失败,未创建 DLL

    我目前正在开发一个 R 包 它使用 C 代码并包含外部库 dlib boost 和小组开发的优化库 我们使用 Rcpp 来集成 R 和 C 但问题是该包总是无法编译 而且我发现的类似问题都对我不起作用 R CMD 检查生成的报告为 inst
  • 带有前缀的 DynamoDB 和 TableNameOverride

    我正在测试 DynamoDB 表 并希望使用前缀 dev 为生产和开发环境设置不同的表名称以进行开发 我做了这个测试来打印表名称 import com amazonaws services dynamodbv2 datamodeling D
  • SQLite数据库更新一行android

    我正在开发一个android应用程序 其中我需要根据某个where子句更新表中的列 下面是代码 public void updatethekeyofweeklycolumn String profilename String keystem
  • 失败的测试是否会导致持续构建失败?

    如果一个项目的测试作为构建计算机上构建过程的一部分执行 那么如果一组测试失败 整个构建是否应该失败 回答这个问题时应该考虑哪些因素 哪些测试失败重要吗 提出这个问题的背景信息 目前我正在开发一个项目NUnit http www nunit
  • C#中使用Open Xml SDK导出DataTable到Excel时指定编码格式

    我只是想使用 open xml 将数据表导出为 excel 参考了下面的方法 在 C 中使用 Open Xml SDK 将数据表导出到 Excel https stackoverflow com questions 11811143 exp
  • 如何在python中声明零数组(或特定大小的数组)[重复]

    这个问题在这里已经有答案了 我正在尝试构建计数直方图 所以我创建了桶 我知道我可以遍历并附加一堆零 即 buckets for i in xrange 0 100 buckets append 0 有更优雅的方法吗 我觉得应该有一种方法来声
  • 使用 GWT 平台将参数从一个演示者传递到另一个演示者

    我正在尝试将已加载到演示者上的参数传递给另一个演示者 例如来自某个客户端的汽车 最好的方法是什么 使用网守 有什么例子吗 PS 我将 DI 与 gin 和 GWT Platform 框架一起使用 如果应该在事件触发时加载演示者 您可以使用P
  • paypal 沙箱不工作[重复]

    这个问题在这里已经有答案了 我正在使用 PayPal 沙箱进行测试付款 自过去 3 4 个月以来 它运行良好 但我看到他们正在沙箱设计 管理测试电子邮件帐户的方式等方面进行更改 他们禁用了我的实际沙箱帐户 并要求我使用真实的 PayPal
  • 来自 Kafka 的 pySpark 结构化流不会输出到控制台进行调试

    下面是我的代码 我尝试了许多不同的选择变体 但应用程序运行 但没有显示每秒写入的消息 我有一个 Spark Streaming 示例 它使用 pprint 确认 kafka 实际上每秒都会收到消息 Kafka 中的消息采用 JSON 格式
  • PHP webdriver 等待 Ajax 完成执行

    只是想检查 ajax 是否不再执行 但是这方面的文档并不多 我找到的最接近的答案是 php webdriver selenium 等待ajax https stackoverflow com questions 45597877 phpwe