【发布时间】:2020-11-11 12:39:22
【问题描述】:
我似乎无法让Watir 在页面上找到link,这会显示另外两个fields。但是,链接不是链接,而是li,即legend:
<li>
<legend role="button" tabindex="1" id="alpha-trigger" class="trigger legend shown " aria-label="alpha Search"" for="alpha">
Alpha Search
</legend>
</li>
我尝试使用.exists? 并寻找dom object,但我总是空着。我发现这不是时间问题,因为我没有将headless 用于chrome。
谁能推荐我如何看到这个.click的链接呢?干杯
【问题讨论】:
-
您尝试了什么,遇到了什么错误?我最初的猜测是尝试
browser.legend(id: 'alpha-trigger').click。 -
@JustinKo 尝试了各种类型,其中一种就是这样。我得到的错误要么是因为找不到而超时,要么是找不到(
.exist?)。 -
.exists 方法不会等待。它检查并立即返回真或假。它不会等待元素出现。
-
我有
.wait_until(&:present?).exists?和其他各种试验。我总是得到false或timeout。identifier已关闭,我无法弄清楚它是什么。 -
啊,页面链接很有帮助。该元素位于 shadow DOM 中,Watir 没有太多支持。之前有一个关于与影子 DOM 交互的问题/答案,您可以尝试 - stackoverflow.com/a/47541701/1200545