Skip to content

Releases: seleniumbase/SeleniumBase

Improve Logging, Shadow DOM support, and more

27 Jan 07:42
6cbaaf3
Compare
Choose a tag to compare

Improve Logging, Shadow DOM support, and more

  • Improve logging:
    -- Include details about the browser and driver versions in logs.
    -- Also includes some code refactoring.
  • Improve Shadow DOM support:
    -- The timing of Shadow DOM methods has been optimized.
  • Add a shorter name for highlight_update_text(selector, text):
    -- highlight_type(selector, text)
  • Update the flake8 style guide rules for SeleniumBase:
    -- Only ignore rule W503 (line break before binary operator).

Update Shadow DOM methods and style guide implementation

26 Jan 06:13
0a7f996
Compare
Choose a tag to compare

Update Shadow DOM methods and style guide implementation

  • Include timeout values for Shadow DOM methods:
    -- The automatic waiting now works more accurately with ::shadow selectors.
  • Update flake8 style guide implementation:
    -- ignore=W503,W504 (line break before or after binary operators)
  • Refresh Python dependencies:
    -- fasteners==0.17.3;python_version>="3.6"

Add option to open PDF files externally

24 Jan 04:48
b993671
Compare
Choose a tag to compare

Add option to open PDF files externally

  • Add --external-pdf option to open PDFs externally:
    -- PDF file URLs will be downloaded instead of displayed.
  • Refresh Python dependencies:
    -- ipython==7.31.1;python_version>="3.7"

Enhanced Shadow-DOM support and more

20 Jan 04:35
a6c6068
Compare
Choose a tag to compare

Enhanced Shadow-DOM support and more

  • Enhanced Shadow-DOM support:
    -- More supported SeleniumBase methods.
    -- Now you can automate the "WORDLE" App. (Example test included.)

  • Better version info:
    -- Similar to sys.version_info, now there's seleniumbase.version_info.
  • Refactoring, improved compatibility, and better error-handling:
    -- Part of this means that nosetests now works on "Python 3.10".
  • Refresh Python dependencies:
    -- setuptools>=60.5.0;python_version>="3.7"
    -- setuptools-scm>=6.4.2;python_version>="3.6"
    -- h11==0.13.0;python_version>="3.7"
    -- fasteners==0.17.2;python_version>="3.6"

Update code for extracting "capabilities" from the driver

16 Jan 21:21
468c0d1
Compare
Choose a tag to compare

Update code for extracting "capabilities" from the driver

  • This fixes the output of some error messages and info messages

Update the XPath-to-CSS converter

16 Jan 00:48
8ca67d9
Compare
Choose a tag to compare

Update the XPath-to-CSS converter

  • (This is used by several SeleniumBase features)

Fix the algorithm for detecting if the driver switched to a frame

12 Jan 06:39
3130a13
Compare
Choose a tag to compare

Fix the algorithm for detecting if the driver switched to a frame

New methods, a fix, and some refactoring

12 Jan 03:58
7fda761
Compare
Choose a tag to compare

New methods, a fix, and some refactoring

  • Add methods: get_property() and get_text_content().
  • Only bring_active_window_to_front() if not in a frame.
    -- This fixes #1170
  • Update double_width_emojis list to improve "rich" printing.
  • Code optimization and refactoring.
  • Refresh Python dependencies:
    -- rich==11.0.0;python_version>="3.6"
self.get_property(selector, property)
"""Returns the property value of an element.
This is not the same as self.get_property_value(), which returns
the value of an element's computed style using a different algorithm.
If no result is found, an empty string (instead of None) is returned.
Example:
    html_text = self.get_property(SELECTOR, "textContent")
"""

self.get_text_content(selector)
"""Returns the text that appears in the HTML for an element.
This is different from "self.get_text(selector, by=By.CSS_SELECTOR)"
because that only returns the visible text on a page for an element,
rather than the HTML text that's being returned from this method."""

Active window visibility and more

09 Jan 01:46
0d1de72
Compare
Choose a tag to compare

Active window visibility and more

  • Bring the active window to front when switching drivers.
    -- This adds a new method: self.bring_active_window_to_front().
    -- That method is now called automatically after using methods that switch the active driver.
    -- Here's an example test that switches drivers: test_multiple_drivers.py
  • Improve error-handling during specific edge-cases.
  • Refresh Python dependencies:
    -- setuptools>=60.3.1;python_version>="3.7"
    -- urllib3==1.26.8
    -- pygments==2.11.2;python_version>="3.5"
    -- decorator==5.1.1;python_version>="3.5"

Refresh Python dependencies

05 Jan 20:57
26633fb
Compare
Choose a tag to compare

Refresh Python dependencies

  • requests==2.27.1;python_version>="3.6"
  • ipython==7.31.0;python_version>="3.7"