Selenium WebDriver clicking on hidden element(Selenium WebDriver 点击隐藏元素)
问题描述
您好,我想知道如何使用 Selenium WebDriver 点击隐藏元素和/或禁用元素.
Hi I would like to know how to click on hidden element and/or disable element by using Selenium WebDriver.
我知道使用 selenium 1 我可以这样做:
I know with selenium 1 I can do this as below:
selenium.click(id="idOfHiddenField");
这会起作用,但是对于 selenium 2 (WebDriver),这不起作用.我不想使用 jquery 来启用或显示隐藏字段或 JavaScript.这是因为大部分测试都使用 xpath.
and this would work, but with selenium 2 (WebDriver), this doesn't. I do not want to use jquery to enable or show hidden fields , or JavaScript. This is because most of the test are using xpath.
还是我只需要使用旧的 selenium,它允许您点击隐藏字段?
Or do I just have to stay with old selenium which allows you to click on hidden fields?
推荐答案
有一种更简单的方法可以使用 JavascriptExecutor
解决该问题.
There is a easier way to work around the problem using JavascriptExecutor
.
例如:
document.getElementsByClassName('post-tag')[0].click();
上面的 javascript 会点击此页面右上角的Selenium"标签(在您的问题旁边),即使它被隐藏(假设地).
The above javascript would click on the "Selenium" tag on the top right of this page (next to your question), even if it were hidden (hypothetically).
您需要做的就是通过 JavascriptExecutor
接口发出这条 JS 指令,如下所示:
All you need to do is issue this JS instruction via the JavascriptExecutor
interface like so:
(JavascriptExecutor(webdriver)).executeScript("document.getElementsByClassName('post-tag')[0].click();");
这将使用 JS 沙箱和合成点击事件来执行点击操作.虽然它违背了 WebDriver 用户活动模拟的目的,但您可以在小众场景中使用它,例如在您的案例中取得良好效果.
This would use the JS sandbox and synthetic click event to perform the click action. Although it defeats the purpose of WebDriver user activity simulation, you can use it in niche scenarios like in your case to good effect.
这篇关于Selenium WebDriver 点击隐藏元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Selenium WebDriver 点击隐藏元素


基础教程推荐
- 如何在特定日期之前获取消息? 2022-01-01
- 每次设置弹出窗口的焦点 2022-01-01
- Node.js 有没有好的索引/搜索引擎? 2022-01-01
- 为什么我在 Vue.js 中得到 ERR_CONNECTION_TIMED_OUT? 2022-01-01
- 什么是不使用 jQuery 的经验技术原因? 2022-01-01
- 如何使用 CSS 显示和隐藏 div? 2022-01-01
- jQuery File Upload - 如何识别所有文件何时上传 2022-01-01
- Javascript 在多个元素上单击事件侦听器并获取目标 2022-01-01
- 如何使用sencha Touch2在单页中显示列表和其他标签 2022-01-01
- WatchKit 支持 html 吗?有没有像 UIWebview 这样的控制器? 2022-01-01