[7] pry(#<RSpec::Core::ExampleGroup::Nested_1>)> page.execute_script "window.close()"
Selenium::WebDriver::Error::NoSuchWindowError: Script execution failed. Script: window.close();
The window could not be found
[8] pry(#<RSpec::Core::ExampleGroup::Nested_1>)> page.driver.browser.window_handles
=> ["f1-2"]
我有兩個選項卡,打開瀏覽器,在上面的命令關閉一個,但最後一個標籤永遠不會關閉。它是開放的,但是當我嘗試運行page.execute_script "window.close()"
它給上述錯誤。下一個測試之前如何關閉所有的窗口在一個測試套件?
page.driver.browser.window_handles.each do |handle|
page.driver.browser.switch_to.window(handle)
page.execute_script "window.close()"
end
上面的代碼對我有用,但不工作了。它給出了同樣的錯誤。
UPDATE:
當我使用,
page.driver.browser.window_handles.each do |handle|
page.driver.browser.switch_to.window(handle)
page.driver.browser.close
end
它提供了以下錯誤Selenium::WebDriver::Error::UnknownError: 'auto_id'
不引用打開的選項卡
我在每次測試結束時都使用了driver.quit,並且他們失敗了'在掛鉤後發生錯誤 Selenium :: WebDriver :: Error :: NoSuchWindowError:getUrl執行失敗; 窗口無法found' – Ava
不要都做,唯一的選擇2只有一次。看看我的更新。 – Amey
我已經單獨嘗試過了。在每次測試中,我打開兩個窗口,並希望在第二次測試開始前關閉它們。使用'page.driver.quit'給出'Failure/Error:無法從回溯中找到匹配的行 Errno :: ECONNREFUSED: Connection refused - connect(2)' – Ava