Skip to content

Commit 5b51fc3

Browse files
committed
Add snippets/mouse_clicks.py (cztomczak#403)
1 parent 2b78a3e commit 5b51fc3

File tree

3 files changed

+54
-4
lines changed

3 files changed

+54
-4
lines changed

examples/snippets/mouse_clicks.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Perform mouse clicks and mouse movements programmatically.
2+
3+
from cefpython3 import cefpython as cef
4+
5+
6+
def main():
7+
cef.Initialize()
8+
browser = cef.CreateBrowserSync(
9+
url="data:text/html,<h1>Mouse clicks snippet</h1>"
10+
"This text will be selected after one second.<br>"
11+
"This text will be selected after two seconds.",
12+
window_title="Mouse clicks")
13+
browser.SetClientHandler(LifespanHandler())
14+
cef.MessageLoop()
15+
del browser
16+
cef.Shutdown()
17+
18+
19+
def click_after_1_second(browser):
20+
print("Click after 1 second")
21+
browser.SendMouseMoveEvent(0, 70, False, 0)
22+
browser.SendMouseClickEvent(0, 70, cef.MOUSEBUTTON_LEFT, False, 1)
23+
browser.SendMouseMoveEvent(400, 80, False, cef.EVENTFLAG_LEFT_MOUSE_BUTTON)
24+
browser.SendMouseClickEvent(400, 80, cef.MOUSEBUTTON_LEFT, True, 1)
25+
cef.PostDelayedTask(cef.TID_UI, 1000, click_after_2_seconds, browser)
26+
27+
28+
def click_after_2_seconds(browser):
29+
print("Click after 2 seconds")
30+
browser.SendMouseMoveEvent(0, 90, False, 0)
31+
browser.SendMouseClickEvent(0, 90, cef.MOUSEBUTTON_LEFT, False, 1)
32+
browser.SendMouseMoveEvent(400, 100, False, cef.EVENTFLAG_LEFT_MOUSE_BUTTON)
33+
browser.SendMouseClickEvent(400, 100, cef.MOUSEBUTTON_LEFT, True, 1)
34+
cef.PostDelayedTask(cef.TID_UI, 1000, click_after_1_second, browser)
35+
36+
37+
class LifespanHandler(object):
38+
def OnLoadEnd(self, browser, **_):
39+
# Execute function with a delay of 1 second after page
40+
# has completed loading.
41+
print("Page completed loading")
42+
cef.PostDelayedTask(cef.TID_UI, 1000, click_after_1_second, browser)
43+
44+
45+
if __name__ == '__main__':
46+
main()

examples/snippets/network_cookies.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
# Implement RequestHandler.CanGetCookies and CanSetCookie
2-
# to block or allow cookies over network requests.
1+
"""
2+
Implement RequestHandler.CanGetCookies and CanSetCookie
3+
to block or allow cookies over network requests.
4+
"""
35

46
from cefpython3 import cefpython as cef
57

examples/snippets/onbeforeclose.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
# Implement LifespanHandler.OnBeforeClose to execute custom
2-
# code before browser window closes.
1+
"""
2+
Implement LifespanHandler.OnBeforeClose to execute custom
3+
code before browser window closes.
4+
"""
35

46
from cefpython3 import cefpython as cef
57

0 commit comments

Comments
 (0)