seleniumbase / SeleniumBase

📊 Python's all-in-one framework for web crawling, scraping, testing, and reporting. Supports pytest. UC Mode provides stealth. Includes many tools.
https://seleniumbase.io
MIT License
4.46k stars 910 forks source link

UC Mode's `driver.uc_click(selector)` isn't properly escaping selectors that contain quotes #2666

Closed mdmintz closed 3 months ago

mdmintz commented 3 months ago

UC Mode's driver.uc_click(selector) isn't properly escaping selectors that contain quotes


This can lead to: selenium.common.exceptions.JavascriptException: Message: javascript error: missing ) after argument list.

To reproduce, try using a selector such as button[type="submit"] during driver.uc_click(selector) (Because that leads to this if the quotes aren't escaped: document.querySelector("button[type="submit"]").click();, which is invalid because double quotes are being used inside of other double quotes.)

mdmintz commented 3 months ago

This was resolved in 4.25.2 - https://github.com/seleniumbase/SeleniumBase/releases/tag/v4.25.2