scroll_to()
and scroll_by()
functions
allow you to scroll the page vertically and horizontally, without
needing a target element.vignette("advanced-usage", package = "selenider")
) has
been added.find_each_element()
and
find_all_elements()
are new functions that can be used to
find elements using an element collection. They are designed to replace
elem_flatmap()
, which is now deprecated and defunct.element_list()
is now deprecated in favour of
as.list.selenider_elements()
.print_lazy()
is now deprecated, as it offers little
benefit and is complex to maintain.ChromoteSession$check_active()
is used to make sure
that the session is still active before performing an action.timeout
argument to open_url()
,
back()
, forward()
, and
reload()
/refresh()
allows you to specify how
long to wait for a page to load. They default to 60 seconds.Moved all session-specific options in
selenider_session()
to an option object (either
chromote_options()
or selenium_options()
),
which can be passed to the new options
argument of
selenider_session()
. This means that a few arguments to
selenider_session()
have been deprecated and moved into
option objects. Old code should be changed as follows:
selenider_session(view = TRUE)
should be changed
to:selenider_session(options = chromote_options(view = TRUE))
selenider_session(selenium_manager = FALSE)
should be
changed to:selenider_session( options = selenium_options(server_options = wdman_server_options()) )
selenider_session(quiet = FALSE)
should be changed
to:selenider_session(options = selenium_options( server_options = selenium_server_options(verbose = TRUE)) ))
Additionally, create_chromote_session()
,
create_selenium_server()
, and
create_selenium_client()
are now deprecated. This is
because you now have access to all the options of these functions in the
options
argument of
selenider_session()
.
Improved reliability of functions when they use chromote, with help of code from the puppeteer project. Most notably:
elem_click()
and friends now work if part of the
element is not visible.elem_value()
and elem_set_value()
now work
on a wider variety of elements, including <select>
elements.elem_focus()
is a new function that allows you to
focus an element.
selenider_session()
now uses the
withr.hook_source
option to ensure that withr
works inside source()
.
elem_select()
is a new function for interacting with
<select>
/<option>
elements,
allowing you to easily select by value, text and index.current_url()
returns the URL of the current
page.selenider
used RSelenium as a Selenium
backend. However, this package did not work with the latest version of
Selenium, or the latest version of Google Chrome. It now uses selenium, which is
compatible with both. This should make selenider
more
reliable, and more likely to work out of the box when using
Selenium.print_lazy()
to use the previous
behaviour when printing.take_screenshot()
with file = NULL
now
views the screenshot correctly.elem_set_value()
now correctly invisibly returns its
first argument x
, allowing it to be used in a
pipeline.find_element()
and find_elements()
no
longer accept the link_text
argument, as this was not
working with chromote. Use elem_find()
or
elem_filter()
instead.elem_get_value()
now uses the JavaScript
value
property of an element, not the "value"
attribute, meaning that it works in more cases.