Open
Description
🐛 Bug Report
https://www.selenium.dev/documentation/webdriver/bidi_apis/
- Register Basic Auth
Python(selenium) has no
driver.register()
--- this is bug?
- Mutation Observation
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
driver = webdriver.Chrome()
async with driver.log.mutation_events() as event:
pages.load("dynamic.html")
driver.find_element(By.ID, "reveal").click()
WebDriverWait(driver, 5)\
.until(EC.visibility_of(driver.find_element(By.ID, "revealed")))
assert event["attribute_name"] == "style"
assert event["current_value"] == ""
assert event["old_value"] == "display:none;"
Python(selenium) has no dirver.log
How is pages
defined?
I tried to modify the code as follows:
import asyncio
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.log import Log
from selenium.webdriver.support import expected_conditions as EC
async def demo():
driver = webdriver.Chrome()
session = driver.bidi_connection()
log = Log(driver, session)
async with log.mutation_events() as event:
driver.get("https://www.google.com")
driver.find_element(By.ID, "reveal").click()
WebDriverWait(driver, 5)\
.until(EC.visibility_of(driver.find_element(By.ID, "revealed")))
assert event["attribute_name"] == "style"
assert event["current_value"] == ""
assert event["old_value"] == "display:none;"
asyncio.run(demo())
running error:
Traceback (most recent call last):
File "D:/github/test-circle/selenium4/code/demo.py", line 25, in <module>
asyncio.run(demo())
File "C:\Python38\lib\asyncio\runners.py", line 44, in run
return loop.run_until_complete(main)
File "C:\Python38\lib\asyncio\base_events.py", line 616, in run_until_complete
return future.result()
File "D:/github/test-circle/selenium4/code/demo.py", line 12, in demo
log = Log(driver, session)
File "C:\Python38\lib\site-packages\selenium\webdriver\common\log.py", line 48, in __init__
self.session = bidi_session.session
AttributeError: '_AsyncGeneratorContextManager' object has no attribute 'session'
Must asyncio be used? Why provide asyncio examples, and incomplete?
Must asyncio be used? Why provide asyncio examples, and incomplete?
To Reproduce
null
Expected behavior
null
Test script or set of commands reproducing this issue
null
Environment
OS: Windows 10
Browser: Chrome
Browser version: selenium 4.0
Browser Driver version: ChromeDriver 2.43,
Language Bindings version: python
Selenium Grid version (if applicable): 4.0