0
<div id="ab100">
    <iframe width="1000" height="600" src="...">
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <body>
    <form id="form1" action=".." method="post">
        <select id="abl03" style="..">..\',\'\')', 0)" name="l03ue">
                <option value="0" selected="selected"><Select a Value></option>
                <option value="1">AB</option>
                <option value="2">AD</option>
                <option value="3">BC</option>
                <option value="4">CA</option>
            </select>
        </div>

当我想点击 DDL 时,我通常会这样做:

browser.select_list(:id => 'ab103').select('CA')

它将选择选项值=“4”。但我收到此错误:

Watir::Exception::UnknownObjectException: unable to locate element, using {:id=>
"abl03", :tag_name=>"select"}
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.2/lib/watir
-webdriver/elements/element.rb:490:in `assert_exists'

也许这个问题是由于它在 iframe 中。提前致谢。

4

2 回答 2

2

一些东西:

  1. 您的示例中没有打开 <select> 标记。我假设<div id="abl03">应该是<select id="abl03">或者它只是丢失了。
  2. <select id="abl03">is的 id abl03,但 is 中的 id 定位器select_list(:id => 'ab103')ab103
  3. <Select a Value><option value="0" selected="selected"><Select a Value></option>应该是&lt;Select a Value&gt;

因此,该unable to locate element错误是有效的,因为具有指定 id 的 <select> 标记不存在。

如果您遇到框架问题,请查看http://watirwebdriver.com/frames/https://github.com/watir/watirspec/blob/master/frame_spec.rb以获取示例。

于 2013-08-09T00:58:56.110 回答
0

我在stackoverflow上看到了类似的问题。很抱歉再次发布它。谢谢。

browser.frame(:index => 0).select_list(:id => ab103).select(/CA/)

也欢迎任何其他建议。谢谢。

于 2013-08-09T14:14:49.240 回答