File tree Expand file tree Collapse file tree 3 files changed +107
-0
lines changed Expand file tree Collapse file tree 3 files changed +107
-0
lines changed Original file line number Diff line number Diff line change 1+ from seleniumbase import SB
2+
3+ with SB (uc = True , test = True , locale_code = "en" ) as sb :
4+ url = "https://www.easyjet.com/en/"
5+ sb .activate_cdp_mode (url )
6+ sb .sleep (2.5 )
7+ sb .cdp .click_if_visible ('button#ensRejectAll' )
8+ sb .sleep (1.2 )
9+ sb .cdp .click ('input[name="from"]' )
10+ sb .sleep (1.2 )
11+ sb .cdp .type ('input[name="from"]' , "London" )
12+ sb .sleep (1.2 )
13+ sb .cdp .click ('span[data-testid="airport-name"]' )
14+ sb .sleep (1.2 )
15+ sb .cdp .type ('input[name="to"]' , "Venice" )
16+ sb .sleep (1.2 )
17+ sb .cdp .click ('span[data-testid="airport-name"]' )
18+ sb .sleep (1.2 )
19+ sb .cdp .click ('input[name="when"]' )
20+ sb .sleep (1.2 )
21+ sb .cdp .click ('[data-testid="month"] button[aria-disabled="false"]' )
22+ sb .sleep (1.2 )
23+ sb .cdp .click ('[data-testid="month"]:last-of-type [aria-disabled="false"]' )
24+ sb .sleep (1.2 )
25+ sb .cdp .click ('button[data-testid="submit"]' )
26+ sb .sleep (3.5 )
27+ sb .connect ()
28+ sb .sleep (0.5 )
29+ if "easyjet.com" not in sb .get_current_url ():
30+ sb .driver .close ()
31+ sb .switch_to_newest_window ()
32+ days = sb .find_elements ("div.flight-grid-day" )
33+ for day in days :
34+ print ("**** " + " " .join (day .text .split ("\n " )[0 :2 ]) + " ****" )
35+ fares = day .find_elements ("css selector" , "button.selectable" )
36+ if not fares :
37+ print ("No flights today!" )
38+ for fare in fares :
39+ info = fare .text
40+ info = info .replace ("LOWEST FARE\n " , "" )
41+ info = info .replace ("\n " , " " )
42+ print (info )
Original file line number Diff line number Diff line change 1+ """Using CDP.network.ResponseReceived and CDP.network.RequestWillBeSent."""
2+ import colorama
3+ import mycdp
4+ import sys
5+ from seleniumbase import SB
6+
7+ c1 = colorama .Fore .BLUE + colorama .Back .LIGHTYELLOW_EX
8+ c2 = colorama .Fore .BLUE + colorama .Back .LIGHTGREEN_EX
9+ cr = colorama .Style .RESET_ALL
10+ if "linux" in sys .platform :
11+ c1 = c2 = cr = ""
12+
13+
14+ async def send_handler (event : mycdp .network .RequestWillBeSent ):
15+ r = event .request
16+ s = f"{ r .method } { r .url } "
17+ for k , v in r .headers .items ():
18+ s += f"\n \t { k } : { v } "
19+ print (c1 + "*** ==> RequestWillBeSent <== ***" + cr )
20+ print (s )
21+
22+
23+ async def receive_handler (event : mycdp .network .ResponseReceived ):
24+ print (c2 + "*** ==> ResponseReceived <== ***" + cr )
25+ print (event .response )
26+
27+
28+ with SB (uc = True , test = True , locale_code = "en" ) as sb :
29+ sb .activate_cdp_mode ("about:blank" )
30+ sb .cdp .add_handler (mycdp .network .RequestWillBeSent , send_handler )
31+ sb .cdp .add_handler (mycdp .network .ResponseReceived , receive_handler )
32+ url = "https://seleniumbase.io/apps/calculator"
33+ sb .cdp .open (url )
34+ sb .sleep (1 )
Original file line number Diff line number Diff line change 1+ from seleniumbase import SB
2+
3+ with SB (uc = True , test = True , locale_code = "en" ) as sb :
4+ url = "https://www.walmart.com/"
5+ sb .activate_cdp_mode (url )
6+ sb .sleep (2.5 )
7+ sb .cdp .mouse_click ('input[aria-label="Search"]' )
8+ sb .sleep (1.2 )
9+ search = "Settlers of Catan Board Game"
10+ required_text = "Catan"
11+ sb .cdp .press_keys ('input[aria-label="Search"]' , search + "\n " )
12+ sb .sleep (3.8 )
13+ items = sb .cdp .find_elements ('div[data-testid="list-view"]' )
14+ print ('*** Walmart Search for "%s":' % search )
15+ print (' (Results must contain "%s".)' % required_text )
16+ for item in items :
17+ if required_text in item .text :
18+ description = item .querySelector (
19+ '[data-automation-id="product-price"] + span'
20+ )
21+ if description :
22+ print ("* " + description .text )
23+ price = item .querySelector (
24+ '[data-automation-id="product-price"]'
25+ )
26+ if price :
27+ price_text = price .text
28+ price_text = price_text .split ("current price Now " )[- 1 ]
29+ price_text = price_text .split ("current price " )[- 1 ]
30+ price_text = price_text .split (" " )[0 ]
31+ print (" (" + price_text + ")" )
You can’t perform that action at this time.
0 commit comments