这是在FF浏览器上。 我有一个Web应用程序,工具栏上有下一个按钮。我的Selenium脚本找到按钮并显然点击它,因为元素突出显示但下一页没有打开。
如何让它进入下一页?
以下是处于空闲状态的工具栏的图像:
点击元素后:
正如另一篇文章中所建议的那样,我点击一个不可点击的元素来获得焦点然后点击下一个按钮......但按钮突出显示但没有进入下一页
driver.findElement(By.xpath("/html/body/form/span[1]/div/table/tbody/tr[4]/td/span")).click();
driver.findElement(By.xpath("/html/body/form/span[1]/div/table/tbody/tr[4]/td/span/div/div/div[1]/table/tbody/tr/td[11]/div")).click();
部分HTML是
<table id="ReportViewer1_fixedTable" cellspacing="0" cellpadding="0" style="table-layout:fixed;width:100%;height:100%;">
<tbody>
<tr style="background-color:#ECE9D8;">
<tr id="ParametersRowReportViewer1" style="display:none;">
<tr style="height:6px;font-size:2pt;display:none;">
<tr>
<td colspan="3">
<span id="ReportViewer1_Toolbar">
<div id="ReportViewer1_ctl06" style="font-family:Verdana;font-size:8pt;border-bottom:1px #CCCCCC Solid;background-color:#ECE9D8;background-image:url(/PlateTechManager/Reserved.ReportViewerWebControl.axd?OpType=BackImage&Version=10.0.30319.1&Color=%23ECE9D8&Name=Microsoft.Reporting.WebForms.Icons.toolbar_bk.png);">
<div style="padding-left:6px;">
<div class=" " style="display:inline-block;font-family:Verdana;font-size:8pt;vertical-align:top;">
<table cellspacing="0" cellpadding="0" style="display:inline;">
<tbody>
<tr>
<td height="28px">
<td width="4px"></td>
<td height="28px">
<td width="4px"></td>
<td height="28px">
<td width="4px"></td>
<td height="28px">
<td width="4px"></td>
<td height="28px">
<td width="4px"></td>
<td height="28px">
<div id="ReportViewer1_ctl06_ctl00_Next">
<div id="ReportViewer1_ctl06_ctl00_Next_ctl00" style="border: 1px solid transparent; background-color: transparent; cursor: default;">
<table title="Next Page">
<tbody>
<tr>
<td>
我试过这个并且没有工作
Actions builder = new Actions(driver);
WebElement we = driver.findElement(By.xpath("/html/body/form/span[1]/div/table/tbody/tr[4]/td/span/div/div/div[1]/table/tbody/tr/td[11]/div"));
builder.moveToElement(we).click().build().perform();
修改 在进一步了解这个行为后,看起来元素突出显示但实际上没有点击。(我怎么知道这个?当测试结束时元素保持突出显示。一旦我移动鼠标元素变得正常)所以不要#39;不知道为什么没有发生点击
答案 0 :(得分:1)
要尝试两件事:
移动到元素并单击:
Actions builder = new Actions(driver);
builder.moveToElement(link).click(link).build().perform();
执行javascript click()
:
((JavascriptExecutor) driver).executeScript("arguments[0].click();", link);
其中link
是链接的WebElement
个实例(findElement()
调用的结果)。