gpt4 book ai didi

php - 使用来自同一行的 id 单击带有 XPath 的按钮

转载 作者:行者123 更新时间:2023-11-28 21:10:29 24 4
gpt4 key购买 nike

我目前正在使用 PHPUnit 进行测试,我需要创建和删除相同的内容。所以我创建了一个叫做测试的东西,我希望能够找到它并删除它。我在页面上有多个删除按钮,它可以通过做这样的事情来工作 -

    $this->click("xpath=(//img[@title='Delete'])[11]");

但是通过选择 [11] 例如,它只使用第 11 行的删除按钮。如果 Test 不是第 11 行,我将删除我不想删除的内容。

我希望通过查找附加了特定 ID 的行来尝试删除特定行。

该行可能包含单词“Test”,后跟列中的更多信息。然后是标题为“删除”的末尾的删除按钮。我希望找到 ID 或单词为“测试”的行,然后在该行上找到并使用“删除”标题。

有什么帮助吗?

编辑 - 一行的示例图像。我想捕获第一个文本,然后使用右边最后一个标题为“删除”的按钮

http://i.stack.imgur.com/S4BNE.png

第二次编辑 - 这是整个表格,它包含所有行,并且在行内包含 td(显然,如您所知)。这是我找不到我试图找到的文本的地方。这个 tr 将算作 6 中的第 4 个。

这显示了包含删除的 td、包含“测试配置文件”的 td 和整个表本身。 http://i.imgur.com/4r1tsJe.png

TL;DR 本质上,我正在尝试做,在 td 包含“测试”的地方,使用同一行中的“删除”。

最佳答案

不太清楚,但我会尝试根据您的评论进行猜测。

忘记行,但让我们找到所有带有“Test”(或您想要的一些文本)的 td

descendant::td[contains(.,'Test')]/

然后从这里选择包含删除图像的后续同级td

following-sibling::td//img[@title='Delete']

现在,对于每一行,您都有一组要点击的图像节点。

当然,如果你的函数

$this->click("xpath=.....");

一次只接受一个节点,一种可能性是放置括号并始终选择第一个节点(假设您的测试将删除它)

(descendant::td[contains(.,'Test')]/following-sibling::td//img[@title='Delete'])[1]

即使节点在点击时被删除,在接下来的测试中这个表达式也会一直匹配,直到页面上剩下任何节点

这类似于(不完全相同)for 循环?

buttons = "xpath=....."

for each b in buttons do {

$this->click(b);
}

希望对你有帮助

关于php - 使用来自同一行的 id 单击带有 XPath 的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31053627/

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