Невозможно нажать кнопку удаления почты Yahoo - PullRequest
2 голосов
/ 03 марта 2012

Я новичок в Watir и пытаюсь удалить почту Yahoo с помощью веб-драйвера

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. (: Идентификатор => "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>

Ответы [ 2 ]

2 голосов
/ 03 марта 2012

Вместо этого используйте ссылку.

br.link(:id=>"yui_3_2_0_1_13307738172806292").click

А теперь несколько незапрошенных советов, так как вы так любите делать это правильно (что я восхищаюсь новичками)Во-первых, я бы не стал спать, если бы мне абсолютно не пришлось.Вместо этого подождите, что вы ищете:

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

Удачи.

0 голосов
/ 19 июля 2012

HTML-код кнопки удаления почты Yahoo выглядит следующим образом:

Удалить

Я заметил, что id = "yui_3_2_0_1_13426820823723547" является динамическим (некоторые последние цифры изменены). Таким образом, можно использовать следующий xpath:

// a [начинается с (@id, 'yui_3_2_0_1_')] Если это не удалось, вы можете использовать следующий xpath:

// a [@ title = 'Удалить выбранные письма [Delete]']

...