首页 > 解决方案 > 点击事件不适用于 Firefox,但适用于 chrome

问题描述

click 事件没有在 Firefox 中触发,但在 chrome 中可以正常工作。测试失败并出现错误:“在页面上找不到元素。”

下面是我要单击的按钮的代码和 HTML。

Browser.ElementClickById("ctl00_ContentPlaceHolderBody_lvProducts_ctrl0_ctrl1_btnAddProductToCart_input");

在 elementclickbyid 里面我有:

driver.FindElement(By.Id(elementID)).Click();

HTML代码是:

事件

标签: c#selenium

解决方案


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 以及您尝试单击的元素


推荐阅读