我在重播为yahoomail页面创建的脚本时遇到了问题。在“收件人”文本字段中输入值的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>
邮件ID已输入文本字段,脚本工作正常。可能是什么原因。任何想法。?
我正在添加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>
答案 0 :(得分:0)
您编写了无效的xpath查询。
应该是
//div[@ id='composebox']/div[@id='toid']/textarea[@id='to' and @name='to']
答案 1 :(得分:0)
<textarea>
有一个id属性,该属性应该是唯一的,因此您的第一个定位器to
应该可以正常工作。执行selenium命令时,元素可能不存在或不可见。我建议如下:
waitForVisible | id=to | 60000
type | id=to | mgtest@ymail.com
如果您的元素具有唯一ID,并且您需要使用XPath,则只需要与具有id属性的最近元素相对。