San*_*h S 18 html java selenium selenium-webdriver
我有一个显示一些记录的网格.当我单击一个记录并检查该元素时,它会显示它被隐藏但在网格中可见.
我的HTML是:
<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>
Run Code Online (Sandbox Code Playgroud)
上面的代码在检查时被隐藏但在网格中可见.
Selenium代码:
driver.findElement(By.partialLinkText("Plastic Spiral Bind")).click();
Run Code Online (Sandbox Code Playgroud)
TDH*_*DHM 28
首先将该元素存储在object中,让我们说element然后编写以下代码来单击该隐藏元素:
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].click();", element);
Run Code Online (Sandbox Code Playgroud)
Rob*_*ham 12
你有两种方法.Selenium专门编写为不允许与隐藏元素交互.理性的是,如果一个人不能执行该行动,那么Selenium也不应该.因此,要通过Selenium执行单击,您必须执行用户要执行的操作以使该按钮可见(例如鼠标悬停在事件上,单击另一个元素等),然后执行一次可见的单击.
但是,Selenium允许您在元素的上下文中执行Javascript,因此您可以编写Javascript来执行click事件,即使它是隐藏的.
我的偏好是始终尝试执行操作以使按钮可见
小智 5
这是 Python 中的脚本。
您无法单击 selenium 中隐藏的元素。但是,您可以执行 JavaScript 来为您单击隐藏的元素。
element = driver.find_element_by_id(buttonID)
driver.execute_script("$(arguments[0]).click();", element)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
83639 次 |
| 最近记录: |