Releases: seleniumbase/SeleniumBase
4.42.3 - CDP Mode: Patch 63
CDP Mode: Patch 63
- Add command-line shortcuts for Pure CDP Mode (sb_cdp)
--> This resolves #4008 - Improve certain types of clicks in CDP Mode
--> May improve clicking of<div>
and<input>
elements - Refresh Python dependencies
--> This resolves #4009 - Update CDP Mode examples
For Pure CDP Mode (sb_cdp
), we're adding the ability to set options via command-line args. Here's what to expect, with examples:
python SCRIPT.py --incognito
python SCRIPT.py --guest
python SCRIPT.py --headless
python SCRIPT.py --ad-block
python SCRIPT.py --agent="MY NEW USER AGENT"
python SCRIPT.py --geolocation="(31.774390, 35.222450)"
python SCRIPT.py --timezone=="Asia/Kolkata"
python SCRIPT.py --platform="MacIntel"
python SCRIPT.py --lang="fr"
python SCRIPT.py --proxy="USER:PASS@SERVER:PORT"
python SCRIPT.py --binary-location="/Applications/Brave Browser.app/Contents/MacOS/Brave Browser"
There are a few additional options on Linux, such as --gui/--headed, (which overrides the default Linux headless mode).
And there's --xvfb on Linux for the special virtual display (which may already be set by default if not using other options).
This aims to simplify option-handling, as you will no longer need to modify a script itself in order to change how it runs.
Note that all these options were already available via method args passed into sb_cdp.Chrome()
. Method args always take priority over command-line options. For example, if you set the binary_location
/ browser_executable_path
via method arg, but set a different one on the command-line, then the method arg takes priority.
What's Changed
Full Changelog: v4.42.2...v4.42.3
4.42.2 - CDP Mode: Patch 62
CDP Mode: Patch 62
- Add more methods to CDP Mode
- Do some refactoring
- Update CDP Mode
- Update examples
- Refresh Python dependencies
Here are the new methods added to CDP Mode:
sb.cdp.get_mfa_code(totp_key=None)
sb.cdp.enter_mfa_code(selector, totp_key=None, timeout=None)
sb.cdp.is_attribute_present(selector, attribute, value=None)
sb.cdp.is_online()
(Note that those new CDP Mode methods already existed in regular SeleniumBase)
What's Changed
Full Changelog: v4.42.1...v4.42.2
4.42.1 - CDP Mode: Patch 61
CDP Mode: Patch 61
Extensions are now fully supported in Pure CDP Mode (sb_cdp
).
What's Changed
Full Changelog: v4.42.0...v4.42.1
4.42.0 - Selenium upgrade and Recorder update
Selenium upgrade and Recorder update
- Refresh Python dependencies
--> This includes upgrading to a newer version ofselenium
. - Update SeleniumBase Codegen / Recorder Mode
--> This prevents duplicate rows generated by the Recorder from URL redirects.
What's Changed
Full Changelog: v4.41.12...v4.42.0
4.41.12 - CDP Mode: Patch 60
4.41.11 - CDP Mode: Patch 59
CDP Mode: Patch 59
- Update CDP Mode
- Update CDP Mode examples
- Update examples
- Refresh Python dependencies
- Update the documentation
What's Changed
Full Changelog: v4.41.10...v4.41.11
4.41.10 - CDP Mode: Patch 58
4.41.9 - CDP Mode: Patch 57
CDP Mode: Patch 57
- Make improvements to CDP Mode
- Refresh Python dependencies
- Update CDP Mode examples
- Update visual testing examples
- Update an example
One of the key improvements is being able to click through multiple CAPTCHAs at nearly the same time.
See the following example: SeleniumBase/examples/cdp_mode/raw_multi_captcha.py, which spins up multiple windows via ThreadPoolExecutor
, and then solves mutliple CAPTCHAs.
from concurrent.futures import ThreadPoolExecutor
from random import randint
from seleniumbase import decorators
from seleniumbase import sb_cdp
def main(url):
sb = sb_cdp.Chrome(url, lang="en")
sb.set_window_rect(randint(4, 680), randint(8, 380), 840, 520)
sb.sleep(2.2)
sb.gui_click_captcha()
sb.sleep(2)
sb.driver.quit()
if __name__ == "__main__":
urls = ["https://seleniumbase.io/apps/turnstile" for i in range(5)]
with decorators.print_runtime("raw_multi_captcha.py"):
with ThreadPoolExecutor(max_workers=len(urls)) as executor:
for url in urls:
executor.submit(main, url)
What's Changed
Full Changelog: v4.41.8...v4.41.9
4.41.8 - CDP Mode: Patch 56
4.41.7 - More PDF improvements
More PDF improvements
- Add / improve PDF methods
- Refresh Python dependencies
- Update the Google Search example
- Update the ReadMe
What's Changed
Full Changelog: v4.41.6...v4.41.7