我正面对Selenium::WebDriver::Error::ElementNotVisibleError and Watir::Wait::TimeoutError
我有一个片段来点击叠加层上的设备名称,然后点击“保存”按钮。问题是这段代码在IE中运行良好但在FF中我遇到了这个问题。
步骤1:单击所需的设备名称。以下是HTML。
<div class="xwtObjectSelectorListTextAligned" tabindex="0" dojoattachpoint="osItemTextNode" aria-label="DeviceName" style="margin-left: 23px; max-width: 198px;">
DeviceName
</div>
@browser.div(:class=>'xwtObjectSelectorListTextAligned',:text=>"DeviceName").when_present(30).click
这里的问题是在IE中这种点击发生了很好并且选择了所需的设备。
但是在FF中,没有错误抛出此声明,但选择没有发生。
步骤2:选择设备后,我们需要点击叠加层上的确定按钮。下面是该部分的HTML。
<span id="domCallprocessors_applyButton" class="dijitReset dijitStretch xwt-TextButtonContents" aria-labelledby="domCallprocessors_applyButton_label" role="button" data-dojo-attach-point="titleNode,focusNode" tabindex="0">
<span class="dijitReset dijitInline dijitIcon dijitNoIcon" data-dojo-attach-point="iconNode"></span>
<span class="dijitReset dijitToggleButtonIconChar"> … </span>
<span id="domCallprocessors_applyButton_label" class="dijitReset dijitInline xwt-TextButtonText" data-dojo-attach-point="containerNode">
OK
</span>
</span>
@browser.span(:id=>'domCallprocessors_applyButton').when_present(30).click<br>
在本声明的FF中,我面临以下错误。
Watir::Wait::TimeoutError:
timed out after 30 seconds, waiting for {:id=>"domCallprocessors_applyButton", :tag_name=>"span"} to become present<br>
任何人都可以建议解决这个问题。
以下是版本详情。
selenium (0.2.11)
selenium-webdriver (2.37.0)
watir-webdriver (0.6.4)
Firefox Version: 24.7.0