【发布时间】:2012-11-07 05:55:52
【问题描述】:
如果提交成功,我想统计星数。还可以为尚未提交的条目加星标。如果这些条目尚未提交,我想忽略这些条目,即使那些尚未提交的条目有星标。
这是我要数的代码:
<table>
<tr id="entry_row_25494">
<td>
<img id="star_span_25494" img="" <="" src="/images/yes_star.png" onclick="toggleStar(25494);">
</td>
<td>
<img title="Entry successfully submitted" alt="Entry successfully submitted" src="/images/greencirclecheck.png">
</td>
</tr>
<tr id="entry_row_25496">
<td>
<img id="star_span_25496" img="" <="" src="/images/yes_star.png" onclick="toggleStar(25496);">
</td>
<td></td>
</tr>
</table>
这就是我所拥有的:
$numOfStars = $this->getXpathCount("xpath=(//img[contains(@src, 'yes_star') and (contains(@src, 'greencirclecheck.png'))])")
这些是我迄今为止在 Selenium IDE 中使用 storeXpathCount 尝试过的方法
//table//img[@src='/images/yes_star.png' and @src='/images/greencirclecheck.png']
//table/tbody/tr[*]/td[*]/img[contains(@src, 'yes_star.png')]/parent::*[contains(@src, 'greencirclecheck.png')]
//img[contains(@src, 'greencirclecheck.png')]/preceding::img[contains(@src, 'yes_star.png')]
xpath=(//img[contains(@src, 'yes_star.png')]//img[contains(@src, 'greencirclecheck.png')])
但这些都行不通
如果您需要我澄清而不是投反对票,请告诉我。我是 Selenium 和 PHPUnit 的新手,所以问题可能不清楚。
【问题讨论】:
-
你是说提交一个条目时会生成:
-
是的,抱歉我漏掉了,当没有成功提交条目时,它是空白的
-
查看我在stackoverflow.com/questions/12842182/imagetag-exists-in-the-tr/… 上的回复,因为这几乎是相同的。如果您有任何问题,请告诉我
-
@Falkenfighter 我尝试了您的回复,但无法正常工作。我尝试了不同的方法。
-
每个表是否只有 2 列,如您的示例中那样?如果是这样,您希望找到您的第一个
标签
WebElement element = driver.findElement(By.xpath("//img[contains(@src, 'yes_star')"));的 xpath,那么您可以向上导航两个元素element = element.findElement(By.xpath(".."));这样做两次以到达您的然后检查您的第二张图片是否存在 @ 987654327@