无法使用Selenium WebDriver单击此ExtJS按钮

时间:2014-05-22 20:29:59

标签: extjs selenium webdriver

<td id="ext-gen383" class="x-toolbar-cell">
    <table id="ext-comp-1144" class="x-btn x-btn-icon" cellspacing="0">
    <tbody class="x-btn-small x-btn-icon-small-left">
    <tr>
     <tr>
     <td class="x-btn-ml">
     <td class="x-btn-mc">
     <em class=" x-unselectable" unselectable="on">
     **<button id="ext-gen384" class="x-btn-text x-tbar-page-last" type="button">**      </button>
</em>

我试图点击按钮。请参阅上面的html。尝试了很多方法。 例如:

//*[contains(@class,'x-btn-text x-tbar-page-last')] or
//button[contains(@class,'x-btn-text x-tbar-page-last')]

但仍然没有工作。

2 个答案:

答案 0 :(得分:0)

如果没有看到页面的完整html,很难分辨。由于ExtJS生成随机id,因此找不到任何好的属性。

我建议只使用XPath,然后使用索引(如果您的页面有多个按钮元素):

 //button[1]

并相应地调整索引,直到您获得正确的单击按钮。

同样,您可以使用driver.findElements的WebDriver API,它将返回所有匹配项的集合,然后您可以将索引应用于该集合以获取正确的按钮。

答案 1 :(得分:0)

我猜测只生成了最后的数字。尝试:

By.cssSelector("em.x-unselectable > button[id^='ext-gen']")

另外,看一下<em>,您确定该课程没有使按钮不可点击吗?通过名称,它看起来像是禁用了点击。