Reported issues for SeleniumBase MCP
Pod holds 23 of 109 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.
Back to SeleniumBase MCP.
Most discussed
Website detects undetected bot
I have been trying to log in on a website but it keeps detecting me. This is what I do:
I create a driver and open google with it. From there I log in manually to my google account so that I have cookies on the profile. Next step I go to the website where I want to log in, but whenever i try logging in it detects me as a bot. Besides creating the chrome instance everything is manually.
I tried doing the exact same on my actual chrome and there I can log in without a problem. I also…
Read the thread · 2024-03-10 · closed · external user · 10 comments
Download file in UC mode, don't use requests module
I can load a page served by Akamai in UC mode, grab a link to a PDF (external_pdf=None, but tried both ways) and then call sb.save_file_as() but that merely uses requests which then gets blocked by Akamai.
Read the thread · 2024-12-24 · closed · external user · 9 comments
Cannot run the event loop while another loop is running
I have just the following in a Jupyter Notebook, the virtual environment built with uv:
from seleniumbase import SB
with SB(uc=True, test=True) as sb:
url = "https://google.com/ncr"
sb.activate_cdp_mode(url)
sb.type('[title="Search"]', "SeleniumBase GitHub page")
sb.click("div:not([jsname]) > * > input")
sb.sleep(2)
print(sb.get_page_title())
sb.sleep(1) # Wait for the "AI Overview" result
if sb.is_text_visible("Generating"):…
[Read the thread](https://github.com/seleniumbase/SeleniumBase/issues/4107) · 2025-11-15 · closed · external user · 7 comments
### Can't find the CF Turnstile iframe
I'm new to web automation with SeleniumBase and trying to figure out how to bypass the Cloudflare checkbox. Right now, I can't even locate the iframe to run uc_gui_handle_cf.
try: sb.wait_for_element_visible('iframe[title*="challenge"]', timeout=20) logging.info("CAPTCHA iframe found")
# Use uc_gui_handle_cf() to handle the CAPTCHA
sb.uc_gui_handle_cf("iframe[title*='challenge']")
logging.info("Used uc_gui_handle_cf() to handle…
Read the thread · 2025-06-16 · closed · external user · 7 comments
tuple index out of range - python
from seleniumbase import Driver
browser = Driver(uc=True, headless=True)
browser.get(url)
Above code fails with:
Warning: uc_driver not found. Getting it now:
*** chromedriver to download = 122.0.6261.128 (Latest Stable)
Downloading chromedriver-linux64.zip from:
https://storage.googleapis.com/chrome-for-testing-public/122.0.6261.128/linux64/chromedriver-linux64.zip ...
*** chromedriver to download = 122.0.6261.128 (Latest Stable)
Downloading…
[Read the thread](https://github.com/seleniumbase/SeleniumBase/issues/2598) · 2024-03-13 · closed · external user · 7 comments
### uc_gui_click_captcha fails to click cloudflare checkbox
Hello, I encountered the same problem as a guy in this issue https://github.com/seleniumbase/SeleniumBase/issues/3345
, I tried to update to the latest version, unfortunately it did not help me, my project is quite large, unfortunately, in what format would it be more convenient for you if I provided it to you? I also attach a video with the problem, in some areas of the site, if it was used with.
sb.cdp.minimize()
sb.cdp.medimize()
click occurs at
the bottom edge of the checkbox is…
[Read the thread](https://github.com/seleniumbase/SeleniumBase/issues/3381) · 2025-01-01 · closed · external user · 6 comments
### uc_gui_click_captcha Method Fails to Locate and Bypass CAPTCHA on Genius.com
Hello,
I'm encountering an issue with the uc_gui_click_captcha method when trying to bypass the CAPTCHA on the website https://genius.com/. The method seems unable to correctly locate the CAPTCHA element on the page, resulting in a failure to bypass it.
Below is the code I used to test this:
from seleniumbase import SB
with SB(uc=True) as sb: url = 'https://genius.com/api/search/multi?per_page=5&q=&q=creepin%20the%20weeknd&per_page=5'
sb.open(url)…
Read the thread · 2024-08-17 · closed · external user · 6 comments
Reddit detecting automation
I am trying to automate reddit using seleniumbase, but reddit easily detecting the automation.
Here is the sample code
with SB(uc=True, binary_location=r"chrome-portable/chrome.exe") as sb:
sb.driver.get("https://www.reddit.com")
sb.wait_for_element_visible('//a[@id="login-button"]', timeout=20)
sb.sleep(2)
It redirects to the captcha page https://www.reddit.com/?captcha=1
I tried sb.activate_cdp_mode("https://www.reddit.com") and…
Read the thread · 2026-01-07 · closed · external user · 5 comments
Most recent
The MCP Server masks exceptions as "Tool Error" instead of showing details
The MCP Server masks exceptions as "Tool Error" instead of showing details
For example, if the MCP Server tries to click an element that doesn't exist, it should provide those details, rather than just saying "Tool Error".
Read the thread · 2026-08-30 · closed · 1 comment
Typing errors on MCP Server due to missing from __future__ import annotations (Only works on Python 3.14+)
Typing errors on MCP Server due to missing from __future__ import annotations (Only works on Python 3.14+)
Looks like this is specific to the Python version used. Eg. The code worked on Python 3.14, but failed in Python 3.12 and Python 3.10 in this build: https://github.com/seleniumbase/seleniumbase-mcp/actions/runs/32745994092/job/97491529654
Specifically, Python 3.14 is the first version where from __future__ import annotations is no longer needed for deferred annotation evaluation.…
Read the thread · 2026-08-24 · closed · 1 comment
Namespace has no attribute open url
I have normal code. then this
116 n = 0
117 while n < 60:
118 n += 1
119 sb.sleep(1)
120
121 sb.activate_cdp_mode("about:blank")
122 sb.cdp.add_handler(mycdp.network.RequestWillBeSent, on_request)
123 sb.cdp.add_handler(mycdp.network.ResponseReceived, on_response)
124 sb.cdp.open_url('https://url')
125
126 n = 0
127 while n < 15:
128 n += 1
129 sb.sleep(1)
130
I followed from…
Read the thread · 2026-06-12 · closed · external user · 1 comment
Code doesnt work with uc=True
This code doesnt work. Same code works with uc=False
# MONTH
month_button = sb.find_element('//*[@tabindex="1"]//button[contains(@class, "chevronButton_")]')
month_button.click()
time.sleep(0.1)
dropdown_btn = sb.find_element('//*[contains(@class, "selectDropdown__")]')
listbox = dropdown_btn.find_element("xpath", './/*[@role="listbox"]')
if random.randint(1,4) > 2:
chains =…
[Read the thread](https://github.com/seleniumbase/SeleniumBase/issues/4379) · 2026-06-11 · closed · external user · 2 comments
### `RuntimeWarning: coroutine 'Event.wait' was never awaited` with Edge in Stealthy Playwright Mode
### `RuntimeWarning: coroutine 'Event.wait' was never awaited` with Edge in Stealthy Playwright Mode
----
Happened when running the following from https://github.com/seleniumbase/SeleniumBase/tree/master/examples/cdp_mode/playwright
```zsh
> python raw_planetmc_sync.py --edge
...
~/github/SeleniumBase/seleniumbase/undetected/cdp_driver/connection.py:321: RuntimeWarning: coroutine 'Event.wait' was never awaited
await self.listener.idle.wait()
RuntimeWarning: Enable tracemalloc to get the…
[Read the thread](https://github.com/seleniumbase/SeleniumBase/issues/4363) · 2026-06-03 · closed · 1 comment
### Unhandled `psutil.AccessDenied`
**Versions**
seleniumbase==4.49.4 psutil==7.2.2
**Description:**
The fix from #4357 missed that `psutil` intercepts the OS-level `PermissionError` on `/proc/stat` and re-raises it as `psutil.AccessDenied`. As a result, it still crashes.
**Steps to Reproduce:**
You can reproduce this on any standard Linux environment by mocking the `open()` function (Docker is not required).
**Step 1: Enter an interactive Docker container** *(Optional, for a clean environment)*
```bash
docker run…
[Read the thread](https://github.com/seleniumbase/SeleniumBase/issues/4359) · 2026-06-02 · closed · external user · 1 comment
### Unhandled `PermissionError` for `/proc/stat` via `psutil`
I'm encountering a `PermissionError` when running SeleniumBase v4.49.3 in a Termux android
The issue originates from `psutil` attempting to read `/proc/stat`, which is restricted by SELinux policies in this specific environment. SeleniumBase currently crashes because it doesn't catch the `PermissionError` (giampaolo/psutil#2195). The `psutil` maintainer clarified there that apps must handle this exception.
**Suggested Solution:**
Since we cannot guarantee access to `/proc/stat` across all…
[Read the thread](https://github.com/seleniumbase/SeleniumBase/issues/4357) · 2026-05-31 · closed · external user · 1 comment
### Orphaned Chromium process causes persistent user_data_dir lock after crash
**Description**
When using sb_cdp.Chrome() with a persistent profile (user_data_dir), I encountered an issue where Chromium processes are not properly cleaned up if the script crashes or is forcefully terminated.
**Problem**
If the script exits unexpectedly before proper shutdown, the Chromium process remains running in the background.
**Resulting behavior:**
- The user_data_dir remains locked
- Subsequent runs of sb_cdp.Chrome() hang indefinitely during initialization
- No timeout or…
[Read the thread](https://github.com/seleniumbase/SeleniumBase/issues/4349) · 2026-05-18 · closed · external user · 2 comments
### Cloudflare Turnstile bypass inconsistency between Pure CDP and UC CDP mode
I am automating a workflow on a site protected by Cloudflare Turnstile
During testing, I noticed a clear difference in behavior between Pure CDP mode and UC Context Manager (uc_cdp=True), as well as an issue related to orphaned Chromium processes when using persistent profiles. This behavior started occurring only within the past week, as it was previously working as expected.
1. Stealth discrepancy (Pure CDP vs UC CDP)
Expected behavior
**I expected both:**
- SB(uc=True, uc_cdp=True)
-…
[Read the thread](https://github.com/seleniumbase/SeleniumBase/issues/4348) · 2026-05-18 · closed · external user · 2 comments
### CDP gui_click_and_hold() / select() does not respect current iframe context after switch_to_frame()
Environment:
* SeleniumBase version: latest
* Browser: Chrome
* OS: Windows 10
Description:
I found an iframe-related issue in the CDP module.
After switching into an iframe using SeleniumBase:
```python
sb.switch_to_frame(...)
regular SeleniumBase methods work correctly:
sb.is_element_visible(selector)
sb.find_element(selector)
However, CDP GUI methods such as:
sb.cdp.gui_click_and_hold(selector, 5)
fail with element-not-found errors for elements…
Read the thread · 2026-05-12 · closed · external user · 1 comment
Unable to scrape crunchbase using socks proxy
Hi Michael, first of all I just want to say I love the youtube videos you put out and I have watched almost all of them.
I am facing an issue with bypassing captcha on crunchbase website when using proxies, it works fine when I set Proxy = None, but when I tried to useChromium = True to make it accept proxy flags or set env var proxy = USER:PASSWD@IP:PORT, it fails:
working repro as below:
from seleniumbase import SB
import time
import os
import sys
# os.environ["proxy"] =…
[Read the thread](https://github.com/seleniumbase/SeleniumBase/issues/4340) · 2026-05-02 · closed · external user · 1 comment
### CDP Connection Hang Due to Listener Idle Event Not Being Set
Hello,
I believe I’ve identified an issue with the CDP mode connection that can cause the connection to hang indefinitely.
The problem appears to be related to how the `Listener` task terminates and how `Connection.wait()` relies on the listener’s `idle` event.
---
## Listener side (root cause)
In `Listener.listener_loop`, the loop may exit without ever setting the `idle` event.
```python
except (Exception,) as e:
logger.debug(
"Connection listener exception "
"while…
[Read the thread](https://github.com/seleniumbase/SeleniumBase/issues/4209) · 2026-01-16 · closed · external user · 2 comments
### The async event handler sometimes freezes up
## The async event handler sometimes freezes up
Here's an example that reproduces the issue: [examples/cdp_mode/raw_req_async.py](https://github.com/seleniumbase/SeleniumBase/blob/6d531b83bb5b0f24a54affb61f3fa3d3bd1a6765/examples/cdp_mode/raw_req_async.py).
Looks like that example stopped working on version `4.45.2` (latest is `4.45.7`, where it's still broken).
[Read the thread](https://github.com/seleniumbase/SeleniumBase/issues/4192) · 2025-12-30 · closed · 1 comment
### Solve Captcha working in windows But not in Linux server.
import asyncio import platform import time
from selenium.webdriver.common.by import By from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from seleniumbase import SB
class CloudflareSolver: def init(self, headless=True): self.headless = headless self.is_linux = platform.system() == "Linux"
async def get_turnstile_token_and_cookies(self, page_url: str, timeout: int = 90, poll_interval:…
Read the thread · 2025-12-23 · closed · external user · 4 comments
uc_gui_click_captcha moves cursor to wrong place?
Hi,
Thanks a lot for maintaining this package. I'm trying to login to Social Blade, but uc_gui_click_captcha doesn't seem to be working for me. As you can see in my screenshot, the mouse gets moved near the cloudflare turnstile, but not directly over it. What might be causing this? I'm using Ubuntu 24.04.
If I use sb.solve_captcha instead it generally works, however it seems to take at least 30/40 seconds.. is this normal?
Thanks again.
from selenium.webdriver.common.by import By…
[Read the thread](https://github.com/seleniumbase/SeleniumBase/issues/4181) · 2025-12-22 · closed · external user · 4 comments
The remaining reports are on [the project's issue tracker](https://github.com/seleniumbase/SeleniumBase/issues).