From 5b51fc356b6931ebfbd04094eb2567255592fc39 Mon Sep 17 00:00:00 2001 From: cztomczak Date: Sun, 19 Aug 2018 19:17:50 +0200 Subject: [PATCH] Add snippets/mouse_clicks.py (#403) --- examples/snippets/mouse_clicks.py | 46 ++++++++++++++++++++++++++++ examples/snippets/network_cookies.py | 6 ++-- examples/snippets/onbeforeclose.py | 6 ++-- 3 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 examples/snippets/mouse_clicks.py diff --git a/examples/snippets/mouse_clicks.py b/examples/snippets/mouse_clicks.py new file mode 100644 index 00000000..d3d340f2 --- /dev/null +++ b/examples/snippets/mouse_clicks.py @@ -0,0 +1,46 @@ +# Perform mouse clicks and mouse movements programmatically. + +from cefpython3 import cefpython as cef + + +def main(): + cef.Initialize() + browser = cef.CreateBrowserSync( + url="data:text/html,

Mouse clicks snippet

" + "This text will be selected after one second.
" + "This text will be selected after two seconds.", + window_title="Mouse clicks") + browser.SetClientHandler(LifespanHandler()) + cef.MessageLoop() + del browser + cef.Shutdown() + + +def click_after_1_second(browser): + print("Click after 1 second") + browser.SendMouseMoveEvent(0, 70, False, 0) + browser.SendMouseClickEvent(0, 70, cef.MOUSEBUTTON_LEFT, False, 1) + browser.SendMouseMoveEvent(400, 80, False, cef.EVENTFLAG_LEFT_MOUSE_BUTTON) + browser.SendMouseClickEvent(400, 80, cef.MOUSEBUTTON_LEFT, True, 1) + cef.PostDelayedTask(cef.TID_UI, 1000, click_after_2_seconds, browser) + + +def click_after_2_seconds(browser): + print("Click after 2 seconds") + browser.SendMouseMoveEvent(0, 90, False, 0) + browser.SendMouseClickEvent(0, 90, cef.MOUSEBUTTON_LEFT, False, 1) + browser.SendMouseMoveEvent(400, 100, False, cef.EVENTFLAG_LEFT_MOUSE_BUTTON) + browser.SendMouseClickEvent(400, 100, cef.MOUSEBUTTON_LEFT, True, 1) + cef.PostDelayedTask(cef.TID_UI, 1000, click_after_1_second, browser) + + +class LifespanHandler(object): + def OnLoadEnd(self, browser, **_): + # Execute function with a delay of 1 second after page + # has completed loading. + print("Page completed loading") + cef.PostDelayedTask(cef.TID_UI, 1000, click_after_1_second, browser) + + +if __name__ == '__main__': + main() diff --git a/examples/snippets/network_cookies.py b/examples/snippets/network_cookies.py index ec5e474e..ad1e2c18 100644 --- a/examples/snippets/network_cookies.py +++ b/examples/snippets/network_cookies.py @@ -1,5 +1,7 @@ -# Implement RequestHandler.CanGetCookies and CanSetCookie -# to block or allow cookies over network requests. +""" +Implement RequestHandler.CanGetCookies and CanSetCookie +to block or allow cookies over network requests. +""" from cefpython3 import cefpython as cef diff --git a/examples/snippets/onbeforeclose.py b/examples/snippets/onbeforeclose.py index 73c3bafe..9b072e96 100644 --- a/examples/snippets/onbeforeclose.py +++ b/examples/snippets/onbeforeclose.py @@ -1,5 +1,7 @@ -# Implement LifespanHandler.OnBeforeClose to execute custom -# code before browser window closes. +""" +Implement LifespanHandler.OnBeforeClose to execute custom +code before browser window closes. +""" from cefpython3 import cefpython as cef