Оператор XPath не выполняется в IDE - PullRequest
0 голосов
/ 04 июня 2010

Я столкнулся с проблемой при воспроизведении скрипта, созданного для страницы Yahoo Mail.The оператор XPath для ввода значения в текстовое поле «Кому», не работает. Следующие операторы XPath я использовал.

С первой попытки я использовал

<tr>
 <td>type</td>
 <td>to</td>
 <td>mgtest@ymail.com</td>
</tr>

Второй попыткой было это утверждение

<tr>
 <td>type</td>
 <td>//div[@id= 'toid']/textarea[@id= 'to'][@name= 'to']</td>
 <td>mgtest@ymail.com</td>
</tr>

Третья попытка была

<tr>
 <td>typeKeysAndWait</td>
 <td>//div[@ id= 'composebox']/div[@id= 'toid']/textarea[@id= 'to'][@name= 'to']</td>
 <td>mgtest@ymail.com</td>
</tr>

Результат был как

[error] Element //div[@ id= 'composebox']/div[@id= 'toid']/textarea[@id= 'to'][@name= 'to'] not found

аналогичный результат был получен в предыдущих попытках. Позже, когда я попробовал

<tr>
 <td>type</td>
 <td>css=textarea.txtfield</td>
 <td>mgtest@ymail.com</td>
</tr>

почтовый идентификатор был введен в текстовое поле, и скрипт работал отлично. В чем может быть причина. Есть мысли .?

Я добавляю операторы XPath

<div id="composepage">
<div id="composebox" class="roundcorner">
<div id="errorContainer"/>
  <input type="hidden" name="defFromAddress" value="mgtest@ymail.com"/>
  <div class="fields row">
  </div>
  <div id="toid" class="row">
  <label id="compose_to" for="to">
  </label>
  <textarea id="to" class="txtfield" name="to" autocomplete="off" tabindex="1" style="overflow: hidden; height: 19px;"/>
  </div>

Ответы [ 2 ]

0 голосов
/ 04 июня 2010

У <textarea> есть атрибут id, который должен быть уникальным, поэтому ваш первый локатор просто to должен работать. Возможно, что элемент не присутствует или не виден при выполнении вашей команды selenium. Я бы порекомендовал следующее:

waitForVisible | id=to | 60000
type | id=to | mgtest@ymail.com

Если ваши элементы имеют уникальные идентификаторы и вам нужно использовать XPath, вам нужно относиться только к ближайшему элементу с атрибутом id.

0 голосов
/ 04 июня 2010

Вы написали неверный запрос xpath.

должно быть

//div[@ id='composebox']/div[@id='toid']/textarea[@id='to' and @name='to']

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...