1

我正在尝试获取无序列表中的特定链接。ul 元素位于页面上带有文本“应用程序帮助”的 h2 标题下方

我有一个 watir 步骤:

  app_help_header = @browser.h2(:text => "Application help")

  assert @browser.link(:after? => app_help_header, :text => link_text ).exists?

我在第二行收到此错误:

# features/step_definitions/steps_86_application_help.rb:73
expected one of [String, Regexp], got #<Watir::Heading:0x50d30c54 located=
false selector={:text=>"Application help", :tag_name=>"h2"}>:Watir::Heading (Typ
eError)
./features/step_definitions/steps_86_application_help.rb:88:in `/^I click
on "(.*?)" in Application Help$/'
features\86_Application_Help.feature:22:in `And I click on "Ordering" in A
pplication Help'

有谁知道为什么会这样?可用于 :after 属性的选择器类型是否有任何限制?

http://wiki.openqa.org/display/WTR/HTML+Elements+Supported+by+Watir上的文档在:after用作选择器时没有提及任何限制。

我试图获取链接的 HTML 是:

<div class="application-help-summary module">
<h2 class="portlet-section-header">Application help</h2>
    <div class="portlet-section-body">
        <p>Browse help for assistance with: </p>
        <ul class="bulleted">
                    <li>
                        <a href="/ordering-help">Ordering</a>
                    </li>
                    <li>
                        <a href="/managing-services-help">Managing services</a>
                    </li>
        </ul>

    </div>
</div>

我正在尝试向 Watir 指定:“使用“应用程序帮助”获取在 h2 之后出现的此文本的链接

作为一种解决方法,我刚刚指定了更高级别的 div,然后直接获取链接,指定代码假设“应用程序帮助”h2 上方没有具有相同文本的链接。

4

0 回答 0