Note that there are some explanatory texts on larger screens.

plurals
  1. USJames Martineau
    primarykey
    data
    text
    plurals
    1. This table or related slice is empty.
    1. CO@Dominik As for the <object> tag, it doesn't change from the time when the page loads. As far as I can see, nothing in the page source changes before, during, or after the video plays. I don't call findElement().getAttribute() until after the video finishes anyway, so nothing is happening on the screen or in the page source when the StaleElementReferenceExceptions are getting thrown. Nothing that I can detect, at least.
      singulars
    2. CO@Dominik I'm not sure what you mean. I tried calling findElement().getAttribute() repeatedly. findElement() doesn't cause an error, getAttribute() does. findElement essentially gets a "fresh" version of the WebElement that should match the DOM at that point in time. My hope was that by calling it repeatedly over a period of time, I'd hit a moment where the DOM wasn't changing (assuming it really was) and thus the getAttribute() call would succeed because the WebElement would still be "fresh" when getAttribute() was called.
      singulars
    3. CO@Babai Well, the Select class linked above provides the #select_by method which accepts both how and what as arguments. This means that with a Selenium Select, you can select an option using its value, text, or index. And since the Select you are using is created from any Element, you could locate said Element any way you like - using a CSS Selector (my preferred method) or XPath, for instance. Capybara's #select method only allows you to select options by value, and forces you to identify the select by id/name/label only. Sorry, I'm not sure what kind of code example would be useful here.
      singulars
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload