1

I am using SeleniumBase in CDP Mode.

I am trying to figure out how to set the window size in CDP Mode AFTER the website is loaded?

If I use the non CDP function sb.set_window_size(x,y), then it gets detected as bot runtimeEnableLeak for opening devtools on https://bot-detector.rebrowser.net:

enter image description here

I tried sb.cdp.set_window_size(x,y) but that function doesn't seem to exist as it crashes with:

sb.cdp.set_window_size(x,y) AttributeError: 'types.SimpleNamespace' object has no attribute 'set_window_size' 

EDIT: I was able to find a workaround using sb.cdp.set_window_rect:

[screenwidth,screenheight,innerwidth,innerheight,scrollwidth,scrollheight] = sb.cdp.evaluate("return [window.screen.width, window.screen.height, window.innerWidth, window.innerHeight, document.documentElement.scrollWidth, document.documentElement.scrollHeight];") print(f"Size: {screenwidth}, {screenheight}, {innerwidth}, {innerheight}, {scrollwidth}, {scrollheight}") sb.cdp.set_window_rect(0,0,scrollwidth + screenwidth - innerwidth, scrollheight + screenheight - innerheight + 100) print(f"Sleeping for some time...") sb.sleep(random.randint(5, 8)) 

Is there a better way?

    1 Answer 1

    2

    Use sb.cdp.set_window_rect(x, y, width, height). (All 4 parameters need to be set.) Eg:

    from seleniumbase import SB with SB(uc=True, test=True) as sb: url = "https://bot-detector.rebrowser.net/" sb.activate_cdp_mode(url) sb.cdp.set_window_rect(10, 10, 1200, 700) sb.sleep(10) 
    4

    Start asking to get answers

    Find the answer to your question by asking.

    Ask question

    Explore related questions

    See similar questions with these tags.