Click() 方法并不总是有效

2024-01-20

我在 Selenium WebDriver 中进行测试时遇到问题。这Click当程序尝试单击按钮时,事件并不总是有效。在一项测试中一切正常,而在其他测试中则不然。

每个测试都从一页开始。首先,用户必须从一个选项中选择一个select组件,然后用户单击按钮。

我想知道为什么第一次一切正常,而当我第二次运行测试时却不然?

下面是查找并点击按钮的源代码:

public void clickContinueBtn() {    
    webElement = driver.findElement(By.xpath("//div[@class='btn magenta_s']/a/span"));
    webElement.click(); 
}

我遇到了类似的问题。 click 方法在其他页面上有效,但在特定页面上根本不起作用。

竞争条件导致了该问题:

  1. HTML 内容在禁用按钮的情况下呈现。
  2. Selenium Web 驱动程序脚本在 javascript 之前执行onload http://www.w3schools.com/jsref/event_onload.asp事件被触发(或者执行完毕)。所以button.click将发生在禁用的元素上。什么也不会发生。
  3. 然后javascript onload事件就会触发(或完成执行)并且 JavaScript 将启用该按钮。
  4. 我查看了该页面,无法弄清楚为什么我的代码不起作用,因为该按钮在检查后似乎已启用,如果我手动单击该按钮,它就会起作用。

当我发现这是一个时间问题后,我在这里找到了解决方案:如何让 Selenium Web 驱动程序等待元素可访问,而不仅仅是存在? https://stackoverflow.com/questions/9161773/how-can-i-get-selenium-web-driver-to-wait-for-an-element-to-be-accessible-not-j

解释一下 Ruby 中的解决方案:

//This will not return the button until it is enabled.
button = driver.find_element(:xpath,  "//button[@id='myButtonId' and not(@disabled)]")
button.click
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Click() 方法并不总是有效 的相关文章

  • 如何让 BlazeDS 忽略属性?

    我有一个 java 类 它有一个带有 getter 和 setter 的字段 以及第二对 getter 和 setter 它们以另一种方式访问 该字段 public class NullAbleId private static final
  • 日期语句之间的 JPQL SELECT [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想将此 SQL 语句转换为等效的 JPQL SELECT FROM events WHERE events date BETWE
  • Junit:如何测试从属性文件读取属性的方法

    嗨 我有课ReadProperty其中有一个方法ReadPropertyFile返回类型的Myclass从属性文件读取参数值并返回Myclass目的 我需要帮助来测试ReadPropertyFile方法与JUnit 如果可能的话使用模拟文件
  • 为 java 游戏创建交互式 GUI

    大家好 我正在创建一个类似于 java 中的 farmville 的游戏 我只是想知道如何实现用户通常单击以与游戏客户端交互的交互式对象 按钮 我不想使用 swing 库 通用 Windows 看起来像对象 我想为我的按钮导入自定义图像 并
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • Java 公历日历更改时区

    我正在尝试设置 HOUR OF DAY 字段并更改 GregorianCalendar 日期对象的时区 GregorianCalendar date new GregorianCalendar TimeZone getTimeZone GM
  • 没有 Spring 的自定义 Prometheus 指标

    我需要为 Web 应用程序提供自定义指标 问题是我不能使用 Spring 但我必须使用 jax rs 端点 要求非常简单 想象一下 您有一个包含键值对的映射 其中键是指标名称 值是一个简单的整数 它是一个计数器 代码会是这样的 public
  • java.lang.IllegalStateException:提交响应后无法调用 sendRedirect()

    这两天我一直在尝试找出问题所在 我在这里读到我应该在代码中添加一个返回 我做到了 但我仍然得到 java lang IllegalStateException Cannot call sendRedirect after the respo
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • 如何对不同的参数类型使用相同的java方法?

    我的问题 我有 2 个已定义的记录 创建对象请求 更新对象请求 必须通过实用方法进行验证 由于这两个对象具有相同的字段 因此可以对这两种类型应用相同的验证方法 现在我只是使用两种方法进行重载 但它很冗长 public record Crea
  • 如何访问JAR文件中的Maven资源? [复制]

    这个问题在这里已经有答案了 我有一个使用 Maven 构建的 Java 应用程序 我有一个资源文件夹com pkg resources 我需要从中访问文件 例如directory txt 我一直在查看各种教程和其他答案 但似乎没有一个对我有
  • 在我的 Spring Boot 示例中无法打开版本 3 中的 Swagger UI

    我在 Spring Boot 示例中打开 swagger ui 时遇到问题 当我访问 localhost 8080 swagger ui 或 localhost 8080 root api name swagger ui 时出现这种错误 S
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • 无效的选择器:使用 Selenium 时不允许出现复合类名错误

    我正在尝试通过 Web Whatsapp 打印聊天中的一条消息 我可以通过 控制台 选项卡中的 Javascript 来完成此操作 我就是这样做的 recived msg document getElementsByClassName XE
  • Eclipse 启动时崩溃;退出代码=13

    I am trying to work with Eclipse Helios on my x64 machine Im pretty sure now that this problem could occur with any ecli
  • 找不到符号 NOTIFICATION_SERVICE?

    package com test app import android app Notification import android app NotificationManager import android app PendingIn
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • 如何将双精度/浮点四舍五入为二进制精度?

    我正在编写对浮点数执行计算的代码的测试 不出所料 结果很少是准确的 我想在计算结果和预期结果之间设置一个容差 我已经证实 在实践中 使用双精度 在对最后两位有效小数进行四舍五入后 结果始终是正确的 但是usually四舍五入最后一位小数后

随机推荐

  • 如何从片段中获取EditText

    我创建了AlerDialog AlertDialog Builder alert new AlertDialog Builder appContext alert setTitle Add subcontractors setView R
  • java赋值中可能存在逻辑错误的误解

    我在让这个项目正常工作方面遇到了很多问题 但我目前一直致力于让这个课程正常工作 它应该做的就是从无线电类中获取当前电台并将其传递给此类 问题是我试图在 AM 和 FM 之间进行选择 但每次运行它时 它只显示 AM 电台 我不明白为什么它会自
  • 每个RAILS_ENV运行多个delayed_job实例

    我正在开发一个具有多个 RAILS Env 的 Rails 应用程序 env name1 adapter mysql username root password host localhost database db name 1 env
  • Java 到 C# 的转换。如何在位图上绘制矩形?

    首先 我对 C 和 Java 都是菜鸟 因此 我被分配了将 java 小程序转换为 C 的任务 除了使用鼠标事件通过拖放在屏幕上绘制矩形之外 我还成功完成了所有操作 应该发生的情况是 当我单击鼠标并在屏幕上拖动鼠标时 应该会出现一个没有填充
  • 应用程序应该如何响应延迟的 SKPaymentTransaction?

    我的应用程序中有应用内购买 iOS 8 的新功能是 延迟 交易 部分描述见技术说明 https developer apple com library ios technotes tn2259 index html 我了解它的作用 并且我不
  • 让 Rails 2.3.x 忽略 i18n gem

    我有一个 Rails 2 3 5 项目 它使用 Rails 的本地化功能 我也碰巧安装了 Rails 3 beta 这取决于 i18n gem Rails 2 3 5 很乐意自行处理本地化 无需安装 i18n 但是如果 i18n gem 可
  • 如何根据物体位置旋转图像?

    首先 对帖子的长度表示抱歉 我正在开展一个根据叶子图像对植物进行分类的项目 为了减少数据的方差 我需要旋转图像 以便茎在图像底部水平对齐 270 度 到目前为止我在哪里 到目前为止 我所做的是创建一个阈值图像 然后从那里找到轮廓并在对象周围
  • 如何在预测数据上使用 Pandas get_dummies?

    使用熊猫后get dummies在 3 个分类列上获得一个热编码数据框 我训练了 取得了一些成功 感知器模型 现在我想根据新的观察来预测结果 它不是热编码的 有什么办法可以记录get dummies列映射要重新使用吗 据我所知 目前没有自动
  • 如何让一张表只允许一行?

    我有一张我想要的桌子只有一项 因此 如果有人尝试插入另一行 则只有在有人删除了先前存在的行之后才允许插入另一行 如何为这样的表设置规则 A UNIQUE约束允许多行null值 因为两个null值不被认为是相同的 除非使用时NULLS NOT
  • MATLAB:将图形打印为 pdf,如 MATLAB 中所示

    我正在尝试将图形导出 另存为 打印 为 pdf 格式 然而 无论我如何配置设置 图形周围都有很大的边距 当我将图形导出为 eps 格式时 不存在这样的问题 即图形看起来就像在 MATLAB 中显示的一样 如何将图形导出为 pdf 格式 使其
  • cmake:每个事务单元的编译统计信息

    我需要弄清楚哪些翻译单元需要重组以缩短编译时间 如何使用 cmake 掌握翻译单元的编译时间 以下属性可用于计算编译器和链接器调用的时间 规则 启动 编译 https cmake org cmake help v3 4 prop gbl R
  • 如何检查两个值是否是使用同一个构造函数创建的?

    假设我有 type t A of int B of int let xx A 2 let yy A 3 我想测试 xx 和 yy 的构造函数是否相等 是否有捷径可寻 而不必 match xx with A gt match yy with
  • 如何在反应中的文件选择器中获取文件名?

    你能告诉我如何在反应中的文件选择器中获取文件名吗 我试图在选择文件后在输入字段中设置值file chooser这是我的代码https stackblitz com edit react d4kp1d file bulk js https s
  • 如何混合 Singleton 来创建一个接受初始化参数的类?

    我已经了解了如何将类定义为单例 如何在 Ruby 中创建单例 https stackoverflow com questions 4677 how do i create a class using the singleton design
  • 如何通过自动布局功能使 TableView 高度动态化?

    我在 Xcode 5 中使用自动布局 我将表视图的高度设置为大于或等于 200px 我希望它具有动态大小 因为有时它会有很多行 有时它会有几行 但尺寸始终为 200px 如果内容大于此值 我应该向下滚动以查看下面的行 What should
  • 获取连接到服务器的在线用户的名称

    我是 ASP NET 新手 我经历过这个link http www aspdotnetfaq com Faq How to show number of online users visitors for ASP NET website a
  • 从通知可分割对象中读取内容以进行后续通知

    我正在尝试构建 Whatsapp 通知过滤应用程序 在其中监视来自 Whatsapp 的所有通知并根据过滤策略删除消息 我可以使用下面的链接代码获取消息内容从 Parcelable contentView 或 contentIntent 中
  • 自动验证 htaccess (401) 用户名​​密码登录

    我有一个网页 每 5 分钟刷新一次 其中包含客户详细信息 我通过基本和标准 htaccess 和 htpassword 文件类型登录系统向其添加了用户名密码 因为文件的一部分包含公司数据 但我需要在我的工作电脑上打开相同的网页 该电脑是连接
  • 为什么需要在 ERD 中指出识别或非识别关系?

    在 ERD 中 弱 非识别关系是连接两个强实体的关系 并用虚线表示 强 标识关系是将强实体连接到弱实体的一种关系 弱实体是包含来自其相关实体的外键 FK 作为其自身主键 PK 的组成部分的关系 并指示通过实线 我的问题是 所以呢 为什么区分
  • Click() 方法并不总是有效

    我在 Selenium WebDriver 中进行测试时遇到问题 这Click当程序尝试单击按钮时 事件并不总是有效 在一项测试中一切正常 而在其他测试中则不然 每个测试都从一页开始 首先 用户必须从一个选项中选择一个select组件 然后