gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 21:54:18 24 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 。如果您希望它是前一个同级,请使用 +

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

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