我目前正在尝试使用Selenium WebDriver测试对话框,但“创建员工”按钮没有id或名称。这就是代码的样子。
<div class="ui-dialog-buttonpane ui-widget-content ui-helper-clearfix">
<div class="ui-dialog-buttonset">
<button type="button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false">
<span class="ui-button-text">Create Employee</span>
</button>
<button type="button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false">
<span class="ui-button-text">Cancel</span>
</button>
</div>
<button type="button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false">
<span class="ui-button-text">Create Employee</span>
</button>
<button type="button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false">
<span class="ui-button-text">Cancel</span>
</button>
</div>
任何人都可以向我提供单击对话框中按钮的java代码吗?感谢
答案 0 :(得分:4)
尝试以下代码。
driver.findelement(By.xpath("//button[@type='button']/span[text()='Create Employee']")).click();
答案 1 :(得分:1)
作为xpath的替代品,我发现新手很麻烦,我发现jQueryUI对话框可以为结果添加ID。
而不是:
$("#stuff").dialog({
buttons: {
"Yes": function() {
写:
$("#stuff").dialog({
buttons: {
"Yes": { text: "Yes",
id: "#mystuff-yes",
click: function() {
答案 2 :(得分:0)
如果您无法选择任何元素,我建议您使用xpath
我建议在浏览器上安装一些插件或扩展,以获取您想要交互的元素的xpath
。然后将xpath用于您的目的。
答案 3 :(得分:-1)
如果您的文字没有变化,您可以使用:
$('.ui-button-text').click(function() {
if($(this).text() == 'Create Employee') {
// Your code here
}
});
<强> Demo 强>