gpt4 book ai didi

php - Selenium:如何断言某个元素存在于某个表的某个单元格中?

转载 作者:可可西里 更新时间:2023-11-01 13:32:14 24 4
gpt4 key购买 nike

我的页面上有一个表格,它应该包含某个元素。我可以通过名称来识别表格(它有一个唯一的名称),而且我还可以轻松地识别元素。我想断言该元素存在于表的 r 行、c 列中。使用 Selenium 命令最简洁的方法是什么?

备注:

  • 我不想使用更多的表名来定位它(我不想要所有的 div\div\table\div\tbody\td\tr[r]\td[ c] 在代码中)。
  • 我在 PHPUnit 中使用 Selenium。因此,我可以为该任务使用 PHP 逻辑,尽管我不想为这样一个简单的任务使用任何复杂的逻辑。

澄清:

如果单元格中的元素只是纯文本,那么我可以像这样检索该文本:

$this->getText("xpath=//table[@name='tableName']//tr[".$r."]//td[".$c."]") ; (PHP)

但是如果单元格有一个元素不是纯文本怎么办?如果元素是链接 (link=anchor) 或按钮 (//button[@type='button']) 或图像或更复杂的东西怎么办?

我需要断言由该元素的定位器指定的元素位于给定的单元格中。

最佳答案

听起来你想要 isElementPresent(...locator of element...)。例如:

$cell = "//table[@name='tableName']//tr[".$r."]/td[".$c."]";
$foundLink = $this->isElementPresent("xpath=".$cell."/a[.='".linktext."']");
$foundButton = $this->isElementPresent("xpath=".$cell."/button[@type='button']");
$foundImage = $this->isElementPresent("xpath=".$cell."/img[ends-with(@src='pretty-pony.gif')]");

isElementPresent() 如果存在则返回 true,否则返回 false

关于php - Selenium:如何断言某个元素存在于某个表的某个单元格中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7240402/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com