Click事件不适用于Firefox,但适用于Chrome

click事件不会在Firefox中触发,但在chrome中可以正常运行。 测试失败,并显示错误:“在页面上找不到元素。”

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

Browser.ElementClickById("ctl00_ContentPlaceHolderBody_lvProducts_ctrl0_ctrl1_btnAddProductToCart_input");

在elementclickbyid里面,我有:

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

HTML代码是:

事件

WY190521 回答:Click事件不适用于Firefox,但适用于Chrome

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单击。

// declare JS executor
var executor = (IJavaScriptExecutor)Driver;

// locate the input
var input = Driver.FindElement(By.XPath("//input[@type='submit']"));

// execute JS to click
executor.ExecuteScript("arguments[0].click();",input);

我已经看到常规Click();无法在浏览器上运行的情况-这种情况很少见,但是当我遇到此问题时,使用JS单击通常可以在多个浏览器上运行。

本文链接:https://www.f2er.com/3158414.html

大家都在问