您好,我想知道如何使用 Selenium WebDriver 单击隐藏元素和/或禁用元素。
我知道使用 selenium 1 我可以按如下方式执行此操作:
selenium.click(id="idOfHiddenField");
这行得通,但对于 selenium 2 (WebDriver),行不通。我不想使用 jquery 来启用或显示隐藏字段或 JavaScript。这是因为大多数测试都使用 xpath。
还是我只需要继续使用允许您单击隐藏字段的旧 selenium?
sử dụng JavascriptExecutor
可以更轻松地解决此问题。
Ví dụ:
document.getElementsByClassName('post-tag')[0].click();
上面的 javascript 将点击此页面右上角的“Selenium”标签(在您的问题旁边),即使它是隐藏的(假设)。
您需要做的就是通过 JavascriptExecutor
接口(interface)发出此 JS 指令,如下所示:
(JavascriptExecutor(webdriver)).executeScript("document.getElementsByClassName('post-tag')[0].click();");
这将使用 JS 沙箱和合成点击事件来执行点击操作。虽然它违背了 WebDriver 用户事件模拟的目的,但您可以在像您的情况这样的小众场景中使用它,效果很好。
Tôi là một lập trình viên xuất sắc, rất giỏi!