mirror of
https://github.com/ThePhaseless/Byparr.git
synced 2025-03-15 17:50:21 +08:00
change the discovery of shadow dom
This commit is contained in:
parent
d1bccc3e4c
commit
fda6f18657
@ -82,13 +82,10 @@ async def bypass_cloudflare(page: webdriver.Tab):
|
|||||||
if not isinstance(elem, Element):
|
if not isinstance(elem, Element):
|
||||||
logger.fatal("Element is a string, please report this to Byparr dev")
|
logger.fatal("Element is a string, please report this to Byparr dev")
|
||||||
raise InvalidElementError
|
raise InvalidElementError
|
||||||
|
|
||||||
|
elem = await page.find("input")
|
||||||
elem = elem.parent
|
elem = elem.parent
|
||||||
# Get the element containing the shadow root
|
# Get the element containing the shadow root
|
||||||
for _ in range(3):
|
|
||||||
if elem is not None:
|
|
||||||
elem = get_first_div(elem)
|
|
||||||
else:
|
|
||||||
raise InvalidElementError
|
|
||||||
|
|
||||||
if isinstance(elem, Element) and elem.shadow_roots:
|
if isinstance(elem, Element) and elem.shadow_roots:
|
||||||
inner_elem = Element(elem.shadow_roots[0], page, elem.tree).children[0]
|
inner_elem = Element(elem.shadow_roots[0], page, elem.tree).children[0]
|
||||||
@ -96,11 +93,11 @@ async def bypass_cloudflare(page: webdriver.Tab):
|
|||||||
logger.debug("Clicking element")
|
logger.debug("Clicking element")
|
||||||
await inner_elem.mouse_click()
|
await inner_elem.mouse_click()
|
||||||
else:
|
else:
|
||||||
logger.warn(
|
logger.warning(
|
||||||
"Element is a string, please report this to Byparr dev"
|
"Element is a string, please report this to Byparr dev"
|
||||||
) # I really hope this never happens
|
) # I really hope this never happens
|
||||||
else:
|
else:
|
||||||
logger.warn("Coulnd't find checkbox, trying again...")
|
logger.warning("Coulnd't find checkbox, trying again...")
|
||||||
|
|
||||||
|
|
||||||
def get_first_div(elem):
|
def get_first_div(elem):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user