【发布时间】:2019-05-02 21:47:02
【问题描述】:
在 UI 上,我有一个 checkAll 按钮,它被实现为 div 块下的 span。点击它变得很难,所以我使用了 JavaScriptExcutor。我想点击它两次。代码如下 6 行。第 3 行总是成功,但第 6 行总是默默地失败(没有错误或异常,但点击没有发生)。如果我注释掉第 3 行,则第 6 行将起作用。为什么?请帮帮我。
IJavaScriptExecutor executor = (IJavaScriptExecutor)drv;
IWebElement chkAll = TaskerStatus.FindElement(By.Id("header3-column0"));
executor.ExecuteScript("arguments[0].click();", chkAll);
cmdBar1collapseAll.Click();
expandAllBtn.Click();
executor.ExecuteScript("arguments[0].click();", chkAll);
【问题讨论】:
-
我复制了第 6 行的一行(作为第 7 行)然后它起作用了。不明白为什么第 6 行现在可以工作,但必须在那里才能使第 7 行正常工作。
-
更正上面注释中的一个错误:第 6 行现在= 第 6 行不是
-
如果在js中定位元素怎么办:
document.getElementById('header3-column0').click() -
您好 pguardiario,我尝试了您的建议。没有什么变化。不管怎么说,还是要谢谢你。我想我找到了根本原因。
-
好吧好吧。在这种情况下,您应该回答自己的问题。
标签: javascript c# selenium selenium-webdriver webdriverwait