我正在开发一个项目,我需要点击分割按钮(箭头)。
以下是HTML:
<table id="ext-comp-1006" cellspacing="0" class="x-btn support-servicedesk-sb caseMru standardObject mruIcon support-servicedesk-sbactive x-btn-noicon" style="width: 250px; height: 26px;">
<tbody class="x-btn-small x-btn-icon-small-left">
<tr>
<td class="x-btn-tl">
<i> </i>
</td>
<td class="x-btn-tc"></td>
<td class="x-btn-tr">
<i> </i>
</td>
</tr>
<tr>
<td class="x-btn-ml">
<i> </i>
</td>
<td class="x-btn-mc">
<em class="x-btn-split" unselectable="on" id="ext-gen100">
<button type="button" id="ext-gen33" class=" x-btn-text">
<div class="mruIcon"></div>
<span>Cases</span>
</button>
</em>
</td>
<td class="x-btn-mr">
<i> </i>
</td>
</tr>
<tr>
<td class="x-btn-bl">
<i> </i>
</td>
<td class="x-btn-bc"></td>
<td class="x-btn-br">
<i> </i>
</td>
</tr>
</tbody>
</table>
点击分割按钮的代码:
driver.findElement(By.className("x-btn-split")).click();
我也尝试使用id
,但它正在抛出无法找到元素错误。
答案 0 :(得分:0)
试试这个:
driver.findElement(By.xPath('//button[@id="ext-gen33"]')).click()
答案 1 :(得分:0)
它为我工作:
System.out.println(browser.findElement(By.className("x-btn-split")).getAttribute("id"));
System.out.println(browser.findElement(By.className("x-btn-split")).getAttribute("className"));
browser.findElement(By.className("x-btn-split")).click();
执行上述步骤后,您会看到它实际上打印了classname和id,因此它正在运行。如果您可以提供点击功能,那么我们可以再次检查脚本。
我用过的HTML:
<html>
<body>
<form>
<em class="x-btn-split" unselectable="on" id="ext-gen100">
<button
type="button" id="ext-gen33" class="x-btn-text">
<div class="mruIcon"></div>
<span>Cases</span>
</button></em>
</form>
</body>
</html>
点击此处查看完整源代码: https://github.com/jagdeepjain/selenium-recipes/blob/master/src/org/example/jagdeep/recipes/SplitButton.java
答案 2 :(得分:0)
您可以尝试点击带有ID的元素吗?
driver.findElement(By.id("ext-gen100")).click();
如果你仍然面临问题,你可以分享错误吗?
希望这有帮助!
答案 3 :(得分:0)
使用xpath而不是className。用className写xpath。
尝试下面的按钮点击代码。
driver.findElement(By.xpath("//em[@class='x-btn-split']/button[1]")).click();
或
driver.findElement(By.xpath("//button[@class='x-btn-text']")).click();