c# - 点击事件不适用于 Firefox,但适用于 chrome
问题描述
click 事件没有在 Firefox 中触发,但在 chrome 中可以正常工作。测试失败并出现错误:“在页面上找不到元素。”
下面是我要单击的按钮的代码和 HTML。
Browser.ElementClickById("ctl00_ContentPlaceHolderBody_lvProducts_ctrl0_ctrl1_btnAddProductToCart_input");
在 elementclickbyid 里面我有:
driver.FindElement(By.Id(elementID)).Click();
HTML代码是:
事件
解决方案
driver.findElement(By.xpath("//input[@type='submit']")).click();
我确定您正在尝试使用浏览器类将您的方法保留在那里,但尝试使用 xpath 而不是 id。只需使用此代码单击您需要的内容。不要使用页面对象模型或其他任何东西。不要在 click 方法下将其保存在浏览器类中。只需在您的主代码中使用此代码即可单击。在运行它之前,请确保您只有一种类型的提交。如果它会向您展示 2 种类型,请使用此代码
driver.findElement(By.xpath("//input[@type='submit'][1]")).click();
数字 1 表示如果您需要第二个按钮,请单击以首先提交,然后按照逻辑将数字更改为 2
driver.findElement(By.xpath("//input[@type='submit'][2]")).click();
为了获得更好的答案,请分享您的代码类以及您尝试单击按钮的 URL 以及您尝试单击的元素
推荐阅读
- javascript - ramda.js 中带有模板字符串的 Pointfree 样式
- node.js - 如何在节点 js 中禁用邮件预览(电子邮件模板)?
- vba - 带有打印弹出消息的已打开 word 文档的 VBA 代码
- android - AlarmManager ELAPSED_REALTIME 是如何工作的?
- connection - Usb 互联网密钥和树莓:禁用互联网连接,仅用于短信
- c++ - 逐个检测数组元素的变化
- java - 当我将撇号放入 .properties 文件时,为什么 mvn clean install 失败?
- java - 我的 ajax 不会执行我的控制器
- laravel - laravel 调度异步任务
- javascript - 等待所有对象属性值为真,然后继续执行代码