You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Node helpers on Capybara::Cuprite::Browser (value, set, select, visible_text, drag, etc.) are private, use
Capybara's node API or node.native.node for Ferrum's
Browser#find is private, Browser#active_element and Browser#within_window are removed, use Capybara's active_element and within_window
Driver#find, Driver#screen_size, Driver#within_window, Node#find and Node#command are private
Ferrum's base_url follows Capybara.app_host (or Capybara's server) and the visited page, so page.driver.browser.cookies doesn't need domain:. A :base_url option is replaced on visit and restored on reset!
Requires Ferrum 0.20.1, see its changelog. page.driver.browser.evaluate_on_new_document applies to the current page only and is gone after reset!, use the :extensions option or browser.add_extension. Scripts passed to evaluate_script and execute_script may warn
about what changes in Ferrum 0.21, set FERRUM_JS_API=new to run them that way now
Deprecated
Deprecated methods print a warning and will be removed in 0.21
Driver#body, use Driver#html instead
Driver#back and Driver#forward, use Driver#go_back and Driver#go_forward instead
Driver#window_handle and Browser#window_handle, use current_window_handle instead
Driver#render, use Driver#save_screenshot instead
Driver#render_base64, use page.driver.browser.screenshot or page.driver.browser.pdf instead
Driver#zoom_factor= and Driver#paper_size=, pass scale:, paper_width: and paper_height: to save_screenshot instead
Driver#resize and Driver#resize_window, use page.current_window.resize_to instead
Driver#authorize and Driver#basic_authorize, use page.driver.browser.network.authorize instead
Driver#headers, headers=, add_headers and add_header, use page.driver.browser.headers instead
Driver#cookies, set_cookie, remove_cookie and clear_cookies, use page.driver.browser.cookies instead
Driver#network_traffic, clear_network_traffic, wait_for_network_idle and clear_memory_cache, use page.driver.browser.network instead. network.traffic includes blocked requests
Driver#click, use page.driver.browser.mouse.click instead
Driver#scroll_to, use page.scroll_to instead
Driver#wait_for_reload, timeout, timeout=, device_pixel_ratio and viewport_size, use the same methods on page.driver.browser instead
Driver#set_proxy, pass the :proxy option to the driver instead
Driver#restart and Node#browser, use page.driver.browser.restart and page.driver.browser instead
Browser#visit and Browser#status_code, use goto and network.status instead
Node#send_key, use Node#send_keys instead
Node#parents, use Capybara's ancestor instead
Node#property, use node.native.node.property instead
Node#attributes
Node#description, use node.native.node.description instead
Fixed
Node#drag_to with drop_modifiers: holds the modifiers while moving to the target and sends keydown and keyup for
them, like Selenium does. They used to be set only on mouseup [rubycdp/ferrum#581]
Resizing the window reset hover and pointer overrides passed with --blink-settings, so @media (hover: hover)
stopped matching on headless Linux [#282, rubycdp/ferrum#664]
Removed
Ruby 3.1 support, Cuprite requires Ruby 3.2 or newer
format: :pdf in Driver#save_screenshot, broken since Ferrum 0.6. A .pdf path renders a PDF
Driver#source, it always raised NotImplementedError. Use page.html or page.source instead
Capybara::Cuprite::Cookie, it was never loaded. Driver#cookies returns Ferrum::Cookies::Cookie objects
Page#frame_name, it was unused
Page#reset_modals and Browser#reset_modals, they were unused
Browser#switch_to_frame, find_modal, accept_confirm, dismiss_confirm, accept_prompt and dismiss_prompt,
they were internal delegates to Page
Browser#browser_error, it was used only in specs
Node#as_json and Node#to_json, they were unused
Driver#pause, use binding.irb with headless: false, or Driver#debug