我正在使用Selenium和Java,无法单击模式内的元素。场景是这样的:单击框架内的项目后,它会打开一个模态,我需要单击此模态内的一个元素,但我无法获取它。
我已经尝试过:
js.executeScript("document.getElementById('saveexit').scrollIntoView(true);");
我也尝试过使用switchTo():
while (itr.hasNext()) {
String popup = itr.next();
System.out.println("itr: " + popup);
driver.switchTo().window(popup);
}
这是我的模态的HTML:
<div class="modal-dialog">
<div class="modal-content modal-custom-content">
<div class="modal-header">
...
</div>
<div class="modal-body">
<form id="formTo" class="form-container">
<div class="row">
...
</div>
<div class="small-space"></div>
<input ...>
<div class="row">
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-12">
...
</div>
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-12">
...
</div>
</div>
<div class="row">
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-12">
...
</div>
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-12">
...
</div>
</div>
<div class="small-space"></div>
<div class="row">
...
</div>
</form>
</div>
<div class="small-space"></div>
<div class="modal-footer">
<div class="row text-center">
<div class="col-md-6 col-sm-6 col-xs-12">
<button class="btn modal-button full-btn" id="saveexit" type="button">SAVE AND EXIT</button>
</div>
<div class="col-md-6 col-sm-6 col-xs-12">
...
</div>
</div>
</div>
</div>
</div>
这是从firefox开发工具获取的CSS路径:
html.no-touch body div.remodal-wrapper.remodal-is-opened div.modaliAdesione.remodal.remodal-is-initialized.remodal-is-opened div.modal-dialog div.modal-content.modal-custom-content div.modal-footer div.row.text-center div.col-md-6.col-sm-6.col-xs-12 button#saveexit.btn.modal-button.full-btn
永远找不到该对象。
这里共享了html的代码片段:https :
//codeshare.io/arLW9q
这是Java代码:
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id=\"saveexit\"]")))
我也尝试过:
cssSelector: #saveexit
cssPath: html.no-touch body div.remodal-wrapper.remodal-is-opened div.modaliAdesione.remodal.remodal-is-initialized.remodal-is-opened
div.modal-dialog div.modal-content.modal-custom-content div.modal-footer div.row.text-center div.col-md-6.col-sm-6.col-xs-12
button#saveexit.btn.modal-button.full-btn
xpath: //*[@id="saveexit"]
请注意:如果我document.getElementById('saveexit').click();
从浏览器的控制台运行,它将正常运行
我在脚本中使用jquery修复了它;
这是行代码:
js.executeScript("$('#saveexit').trigger('click');");
希望以后能对某人有所帮助。
我不知道为什么普通的javascript无法正常工作…
问题内容: 我正在使用Selenium和Java,无法单击模式内的元素。场景是这样的:单击框架内的项目后,它会打开一个模态,我需要单击此模态内的一个元素,但我无法获取它。 我已经尝试过: 我也尝试过使用switchTo()这样: 这是我的模态的HTML: 这是从firefox开发工具获取的CSS路径: 永远找不到对象。 问题1:如果元素在模态内部必须进行不同的管理? 问题2:如何最后单击按钮 sa
我正在使用Selenium和java,我无法单击模态中的元素。场景是这样的:单击框架内的项目后,它会打开一个模态,我需要单击此模态中的一个元素,但我无法获得它。 我已经尝试过: 我也尝试了用SwitchTo()这样做: 以下是我的modal的html: 这是来自firefox开发工具的CSS路径: 该对象永远找不到。 问题1:如果一个元素在一个模态中,必须以不同的方式管理? 问题2:如何最终让保存
在此输入图像描述无法使用selenium webdriver单击内联元素。 这是URL 除了图像链接(右侧顶部),还有一个方形图标。需要单击该图标并选择“地图”。附上截图。我使用了xpath、cssselector、ID、Name,但没有任何效果。谁能帮我一下吗。 代码:
在我们的应用程序中,当我将鼠标放在菜单项上时,将出现下拉菜单项。在这里我想通过点击它来选择一个项目。主菜单:管理子菜单:管理频道,管理用户在selenium webdriver中,我尝试通过给出xpath,linktext,partial link文本直接点击管理频道。
我们已经更新到最新的Selenium版本3.141.59并且发现点击不起作用。我没有得到一个错误消息,表明单击失败,并移动到下一个函数或行。我已经验证了它在Chrome、Firefox和Edge上不起作用。我们的代码是用Java编写的。 在单击元素之前添加等待时间 操作 JavaScriptExecutor 如有任何帮助,我们将不胜感激!
im 尝试单击此 div 元素,但引发异常。我的代码是: selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法定位元素:{"method":"xpath","selector":"//*[@id='ext-gen1147']"}(会话信息: chrome=80.0.3987.163)