Selenium WebDriver 点击隐藏元素

Selenium WebDriver clicking on hidden element(Selenium WebDriver 点击隐藏元素)
本文介绍了Selenium WebDriver 点击隐藏元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

限时送ChatGPT账号..

您好,我想知道如何使用 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 点击隐藏元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

SCRIPT5: Access is denied in IE9 on xmlhttprequest(SCRIPT5:在 IE9 中对 xmlhttprequest 的访问被拒绝)
XMLHttpRequest module not defined/found(XMLHttpRequest 模块未定义/未找到)
Show a progress bar for downloading files using XHR2/AJAX(显示使用 XHR2/AJAX 下载文件的进度条)
How can I open a JSON file in JavaScript without jQuery?(如何在没有 jQuery 的情况下在 JavaScript 中打开 JSON 文件?)
quot;Origin null is not allowed by Access-Control-Allow-Originquot; in Chrome. Why?(“Access-Control-Allow-Origin 不允许 Origin null在铬.为什么?)
How to get response url in XMLHttpRequest?(如何在 XMLHttpRequest 中获取响应 url?)