0
我嘗試在沒有睡眠命令的情況下在剛剛打開的頁面上查找按鈕。使用Watir和Chrome瀏覽器在剛剛打開的網頁上查找元素
HTML:
我的元素的<span id="create-user-button" class="ui-button ui-widget ui-state-default
ui-corner-all ui-button-text-only" role="button" aria-disabled="false">
<span class="ui-button-text">Create·User</span>
</span>
初始化:
span(:create_user_button, :id => "create-user-button")
def open_user_creation_dialog
sleep 1
self.create_user_button_element.when_visible.click
end
當我使用的代碼段不睡了Chrome瀏覽器,我的網頁被關閉,我無法找到定義按鈕。 FF沒有這樣的問題。 我嘗試使用了大量的變種進行修復,如:
self.create_user_button_element.when_visible(2).click
self.create_user_button_element.when_present(2).click
解決方案發現:
我的頁面不使用Ajax,但與我的網頁上的用戶來說是非常大的表,它需要很長時間才能下載。 所以我在等待下載大表,然後我發現我的元素非常好。 我的問題解決了。
div(:total_users_number, :id => "users-table_info")
def open_user_creation_dialog
self.wait_until(10, "No users displayed") do
self.total_users_number_element.when_visible.text != ""
end
self.create_user_button_element.when_visible.click
end
我怕你將不得不提供在我能夠幫助你之前獲得更多的信息。你得到的錯誤是什麼?您嘗試點擊的元素的HTML是什麼?什麼是定義該元素的實際Watir代碼?另外,上面所有的「def」行都是錯誤的Ruby,所以很難真正理解你的方法在你的代碼中實際做了什麼。 –
@Abe Heward好吧,我會盡力給你更多的信息,我會修改我的問題。 –
如果您使用的超時時間很長 - 例如2分鐘,它是否工作?我想知道Chrome是否太慢或者存在不同的問題。 –