我正在使用 Watir-webdriver 和 Ruby 测试网络应用程序。我需要验证其中一个网页上表格的内容。 table 元素没有 id,所以我不能直接获取它。但是,它嵌套在一个 确实 包含 id 的 div 中。
Watir-webdriver 有一个方法 (.parent) 允许您获取您正在使用的元素的父元素,但是换一种方式呢?
是否有类似于 .child 或 .child_element 的东西可以让您通过父元素获取子元素?
我搜索了 Watir-webdriver 的 API,但没有找到任何有用的东西。我想知道这里是否有人知道我错过的方法?
谢谢。
最佳答案
所有元素定位方法都在调用它们的浏览器/元素范围内搜索。
例如假设您有页面:
<html>
<body>
<table><tr><td>table 1</td></tr></table>
<div id="div_id">
<table><tr><td>table 2</td></tr></table>
</div>
</body>
</html>
通常你调用浏览器的元素方法,它返回浏览器中的第一个匹配元素:
browser.table.text
#=> "table 1"
通过在元素(而不是浏览器)上调用元素方法,您是说要在另一个元素中定位该元素。例如:
browser.div(:id => 'div_id').table.text
#=> "table 2"
将返回 ID 为“div_id”(在浏览器中)的 div 中的第一个表。
关于ruby - 需要帮助从 Watir-Webdriver API 查找特定方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24511009/