首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何点击Selenium WebDriver中的隐藏元素?

如何点击Selenium WebDriver中的隐藏元素?
EN

Stack Overflow用户
提问于 2014-03-01 12:50:59
回答 6查看 116K关注 0票数 22

我有一个显示一些记录的网格。当我单击一条记录并检查该元素时,会显示它是隐藏的,但在网格中是可见的。

我的HTML是:

代码语言:javascript
复制
<a href="http://192.168.1.6/eprint_prod_3.8/settings/othercost_add.aspx?type=edit&id=805" title="Plastic Spiral Bind"
<div style="float: left; width: 99%; overflow: hidden; height: 15px; overflow: hidden"> Plastic Spiral Bind </div>
</a>

上面的代码在检查时是隐藏的,但在网格中是可见的。

Selenium代码:

代码语言:javascript
复制
driver.findElement(By.partialLinkText("Plastic Spiral Bind")).click();
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2014-03-02 16:37:33

首先将元素存储在object中,假设是element,然后编写以下代码来单击隐藏的元素:

代码语言:javascript
复制
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].click();", element);
票数 33
EN

Stack Overflow用户

发布于 2014-03-02 05:48:40

您有两种方法。Selenium是专门编写的,不允许与隐藏元素进行交互。理由是,如果一个人不能执行这个动作,那么Selenium也不应该。因此,要通过Selenium执行单击,您必须执行用户为使该按钮可见而执行的操作(例如,鼠标悬停在事件上,单击另一个元素等),然后在可见时执行单击。

但是,Selenium确实允许您在元素的上下文中执行Javascript,因此您可以编写Javascript来执行单击事件,即使它是隐藏的。

我的首选是始终尝试并执行操作以使按钮可见

票数 14
EN

Stack Overflow用户

发布于 2019-12-04 08:06:44

以下是Python中的脚本。

您不能单击selenium中隐藏的元素。但是,您可以执行JavaScript来单击隐藏的元素。

代码语言:javascript
复制
element = driver.find_element_by_id(buttonID)
driver.execute_script("$(arguments[0]).click();", element)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22110282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档