0

Here is my html:

<p class="actions">
  <input style="float: right" id="submit" type="submit" name="Create account" value="Update profile">
  <button name="cancel" style="padding: 10px 10px" onclick="window.close(); return false">Cancel</button>
  <button name="delete" style="padding: 10px 10px" onclick="window.location.href = 'https://88888.dev2.ext-dev.mysite.com/plugins/social/profile/delete?sessionKey=521f6a65e4b01c799ac48260&amp;webSocketIdentifier=521f6a65e4b01c799ac4825f'; return false">Delete account</button>
</p>

I have used:

delete_account=@browser.element(:css => "p.actions > delete").click
4

2 回答 2

2

由于您使用的是 Watir,因此除非没有其他解决方案,否则避免使用 css 和 xpath 通常会更好地提高可读性。

你应该能够做到:

@browser.button(:name => 'delete').click

如果段落是区分删除链接的重要部分,您可能需要执行以下操作:

@browser.p(:class => 'actions').button(:name => 'delete').click

如果你真的想使用 css,我认为应该是:

@browser.element(:css => "p.actions > [name=delete]").click

或者

@browser.element(:css => "p.actions > button[name=delete]").click

请注意,“delete”是按钮名称属性的值,而不是其类。

根据评论中的讨论,该元素也在弹出浏览器窗口中。必须使用以下方式访问:

@browser.windows.last.use{ browser.button(:name => 'delete').click }
于 2013-08-29T15:58:02.953 回答
1

如果您的 HTML 不包含以下 html,那么您的 CSS 选择器是错误的;

<p class='actions>
    <delete></delete>
</p>
于 2013-08-29T15:55:08.770 回答