使用java调用selenium单击事件

使用java调用selenium单击事件,java,selenium,Java,Selenium,我正在使用java编写selenium测试用例。我需要写点击事件。要触发以下按钮的单击事件 <button class="btn btn-block" id="employee_rightAll" type="button"> <i class="icon-forward"></i> 我使用了:By.id(“employee_rightAll”)。单击() 如何触发下面按钮的

我正在使用java编写selenium测试用例。我需要写点击事件。要触发以下按钮的单击事件

<button class="btn btn-block" id="employee_rightAll" type="button">
<i class="icon-forward"></i>

我使用了:By.id(“employee_rightAll”)。单击()

如何触发下面按钮的单击事件。这里没有id属性

<button class="DualList_button_3xaWM" type="button">
  <i class="icon-forward"></i>
</button>

让我再给我写信

对于id为的按钮,我将click写成.id(“employee_rightAll”)。click()

对于没有id的按钮,如何写入单击事件

请支持我的基本问题。刚开始研究硒


由于公司VM中的安全措施,我无法复制stacktrace。由于缺少信誉点,无法添加图像,否则我将stacktrace添加为图像

改用此xpath:

//i[contains(@class, 'icon-forward')]/..
//按钮[包含(@class,'DualList_button')]

基于您的代码

By.id("employee_rightAll").click
你可以像这样点击

 By.xpath("//i[contains(@class, 'icon-forward')]/..").click
但是我认为应该是
。click()
而不是
click

更具建设性的方式是:

driver.findElement(By.xpath("//i[contains(@class, 'icon-forward')]/..")).click()
试试这个:-

driver.findElement(By.xpath(".//button[contains(@class,'DualList_button')]")).click();

您收到的错误是什么?我尝试了。className(“图标转发”)我收到以下消息无法找到类名==图标转发的元素您可以共享url吗?这是我们公司的内部门户请检查您尝试单击的按钮是否在框架内?//按钮[包含(@class,'DualList_button'):我收到的错误是“org.openqa.selenium.InvalidSelectorException:xpath表达式'//button[包含(@class,'DualList_button')无法计算或不会生成WebElementBy.id(“employee_rightAll”)。单击()此按钮具有id属性。此按钮没有我使用的id属性:By.id(“employee_rightAll”).click:这是finedriver.findElement(By.xpath(//i[contains(@class,'icon forward')]/.))。click()-您尝试过这个吗?如果是,我们使用WaitForVisibility和Find函数来处理selenium.getDriver().findElement(By));对于By变量,我们传递参数:By.xpath(../button[contains(@class,'DualList_button')).上面的注释失败,并在此行中引发timeoutException尝试而不使用WaitForVisibility和Find()。如果元素已经存在,为什么要等待元素可见,这将失败并引发超时异常。WaitForVisibility和Find()是代码中已经遵循的标准。因此我遵循它们