gpt4 book ai didi

php - 从子 css 元素获取特定 css 元素 id 的值

转载 作者:行者123 更新时间:2023-12-02 04:55:42 25 4
gpt4 key购买 nike

我正在使用包裹在 PHPUnitSausage 中的 Selenium WebDriver 来测试单击布局类似的表中特定行中的按钮到:

<tr id="dynamically generated 1">
<td class="foo">
<div class="bar"></div>
</td>
<td class = "mybutton">
<span class = "icon clickable"></span>
</td>
</tr>
<tr id="dynamically generated 2">
<td class="foo">
<div class="baz"></div>
</td>
<td class = "mybutton">
<span class = "icon clickable"></span>
</td>
</tr>

特别是,我想点击一个特定的元素#mybutton > span.icon.clickable,它的兄弟元素是.foo,子元素是.baz。 “其同胞是 .foo 和子 .baz”要求是我目前可以识别正确元素的唯一方法,因为其他行同一个表有元素 #mybutton > span.icon.clickable,这些行的 ID 是动态生成的。

目前我正在使用 XPath,但如您所料,FFIE 的性能非常糟糕。是否有一种方法可以从元素 tr#id div.bar 中检索 tr#id 的值?如果我能得到这个,我就可以使用 id 来使用 CSS 找到我要找的元素。我正在使用 PHP,但任何语言的解决方案都会很有用。

或者,更简单的 CSS3 解决方案也行得通,但在大量阅读之后,我几乎得出结论,对于这种情况,使用标准 CSS3 选择器不是一个选项。以防万一我遗漏了什么,是否有 CSS3 解决方案?我知道有一个 CSS4 解决方案,但我需要完整的浏览器支持,所以在我测试的所有浏览器都支持 CSS4 之前,我将不得不依赖 CSS3。

提前致谢。

编辑:在对 CSS4 提供更好的跨浏览器支持之前,我需要使用 CSS3

最佳答案

我能想到的唯一方法是找到一个 List<WebElement>By.cssSelector(".foo~span.icon.clickable") 生成在每个元素上做一个 findElement(By.cssSelector(".baz"))被 try/catch 包围(捕获 NoSuchElementException s)。

如果没有抛出错误,那么您就知道您已经找到了您的元素。

注意:~如果有任何程序,则选择它 .foo sibling 。如果您希望它成为紧邻的前一个 sibling ,请使用 +

关于php - 从子 css 元素获取特定 css 元素 id 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18026238/

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