@@ -1021,18 +1021,20 @@ import asyncio
1021
1021
import time
1022
1022
from seleniumbase import cdp_driver
1023
1023
1024
-
1025
1024
async def main ():
1026
- url = " https://www.priceline.com/ "
1027
- driver = await cdp_driver.start_async(lang = " en " )
1025
+ url = " seleniumbase.io/simple/login "
1026
+ driver = await cdp_driver.start_async(incognito = True )
1028
1027
page = await driver.get(url)
1029
- time.sleep(3 )
1030
1028
print (await page.evaluate(" document.title" ))
1031
- element = await page.select(' [data-testid*="endLocation"]' )
1029
+ element = await page.select(" #username" )
1030
+ await element.send_keys_async(" demo_user" )
1031
+ element = await page.select(" #password" )
1032
+ await element.send_keys_async(" secret_pass" )
1033
+ element = await page.select(" #log-in" )
1032
1034
await element.click_async()
1033
1035
time.sleep(1 )
1034
- await element.send_keys_async( " Boston " )
1035
- time.sleep( 2 )
1036
+ element = await page.select( " h1 " )
1037
+ assert element.text == " Welcome! "
1036
1038
driver.stop()
1037
1039
1038
1040
if __name__ == " __main__" :
@@ -1050,7 +1052,7 @@ This format provides a pure CDP way of using SeleniumBase (without Selenium or a
1050
1052
``` python
1051
1053
from seleniumbase import sb_cdp
1052
1054
1053
-
1055
+ @decorators.print_runtime ( " CDP Priceline Example " )
1054
1056
def main ():
1055
1057
url = " https://www.priceline.com/"
1056
1058
sb = sb_cdp.Chrome(url, lang = " en" )
@@ -1063,11 +1065,14 @@ def main():
1063
1065
location = " Amsterdam"
1064
1066
where_to = ' div[data-automation*="experiences"] input'
1065
1067
button = ' button[data-automation*="experiences-search"]'
1068
+ sb.wait_for_text(" Where to?" )
1066
1069
sb.gui_click_element(where_to)
1067
1070
sb.press_keys(where_to, location)
1068
1071
sb.sleep(1 )
1069
1072
sb.gui_click_element(button)
1070
- sb.sleep(3 )
1073
+ sb.sleep(2 )
1074
+ sb.click_if_visible(' button[aria-label="Close"]' )
1075
+ sb.sleep(1 )
1071
1076
print (sb.get_title())
1072
1077
print (" ************" )
1073
1078
for i in range (8 ):
@@ -1078,7 +1083,6 @@ def main():
1078
1083
print (" * %s " % card.text)
1079
1084
sb.driver.stop()
1080
1085
1081
-
1082
1086
if __name__ == " __main__" :
1083
1087
main()
1084
1088
```
0 commit comments