我是Watir的初学者并尝试使用webdriver删除雅虎邮件
require "rubygems"
require "watir-webdriver"
br=Watir::Browser.new :ff
br.goto("https://login.yahoo.com/config/login_verify2?&.src=ym")
br.text_field(:id,'username').set("xxxx")
br.text_field(:id,'passwd').set("xxxx")
br.button(:id,'.save').click
sleep(5)
br.button(:value=>"Check Mail").click
br.checkbox(:title=>"Select or deselect all messages [Ctrl+A]").click
br.button(:id=>"yui_3_2_0_1_13307738172806292").click
点击不适用于删除按钮 的 br.button(:ID => “中yui_3_2_0_1_13307738172806292”)。然后按
请求帮助。谢谢提前
html代码在
之下<div class="list-view-footer" role="toolbar" id="yui_3_2_0_1_13307738172806297">
<div id="yui_3_2_0_1_13307738172806296" class="commontasks shaded">
<div id="pagetoolbar" class="">
<span id="yui_3_2_0_1_13307738172806293" class="btn left right multimsg">
<a id="yui_3_2_0_1_13307738172806292" data-action="delete" title="Delete selected emails [Delete]" href="#" role="button">Delete</a>
</span>
<span class="btn left onemsg" id="yui_3_2_0_1_13307738172806444">
<span id="btn-reply" class="btn right menu onemsg" data-action="menu">
<span class="btn left onemsg">
<span class="btn multimsg">
<span id="btn-move" class="btn menu right multimsg" data-action="menu">
<span id="btn-ml-preview" class="btn left right menu" data-action="menu">
<span id="btn-actions" class="btn left right menu" data-action="menu">
<div class="rht pagination shaded" role="presentation"></div>
</div>
</div>
答案 0 :(得分:2)
请改用链接。
br.link(:id=>"yui_3_2_0_1_13307738172806292").click
现在对于一些不请自来的建议,因为你是如此Gung Ho这样做的(我在新手中很佩服)。首先,除非我绝对必须,否则我不会使用任何睡眠。而是等待你正在寻找的东西:
br.button(:value=>"Check Mail").wait_until_present
接下来,请注意使用特定于平台的标识符。在这种情况下,我的系统是Mac,因此“选择或取消选择所有消息[Ctrl + A]”是“在我的系统上选择或取消选择所有消息[Cmd + A]”。它不起作用。另一种方法是使用部分字符串:
br.checkbox(:title=>/Select or deselect all messages/).click
最好选择正确的标识符,并尽可能与他们保持联系。在这里,我使用两者的标题。如果您测试未本地化的系统,标题可能是一个糟糕的选择。
br.checkbox(:title=>/Select or deselect all messages/).click
br.button(:title=>/Delete selected emails/).click
祝你好运。
答案 1 :(得分:0)
雅虎邮件的HTML删除按钮如下:
删除
我观察到id =“yui_3_2_0_1_13426820823723547”是动态的(更改了一些最后的数字)。因此可以使用以下xpath:
// a [starts-with(@ id,'yui_3_2_0_1_')] 如果失败,您可以使用以下xpath:
// a [@ title ='删除已选择的电子邮件[删除]']