这是我的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&webSocketIdentifier=521f6a65e4b01c799ac4825f'; return false">Delete account</button>
</p>
我用过:
delete_account=@browser.element(:css => "p.actions > delete").click
答案 0 :(得分: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
请注意&#34;删除&#34;是按钮的名称属性的值,而不是其类。
根据评论中的讨论,该元素也位于弹出浏览器窗口中。必须使用以下方式访问:
@browser.windows.last.use{ browser.button(:name => 'delete').click }
答案 1 :(得分:1)
如果您的HTML不包含以下html,那么您的CSS选择器是错误的;
<p class='actions>
<delete></delete>
</p>