Selenium自动化(等待 / 弹窗处理 / 滚动条 / 多窗口处理 / Cookie处理)-------详细

Selenium自动化(等待 / 弹窗处理 / 滚动条 / 多窗口处理 / Cookie处理)

一、等待

设置休眠时间(休眠3秒):

time.sleep(3)

智能等待(隐式等待):(一般放在打开项目的前面一行)

driver.implicitly_wait(10)

显示等待(不常用):

from selenium.webdriver.support.ui import WebDriverWait
WebDriverWait(5)

二、弹窗处理(提示框之类的)

alert / confirm / prompt 处理

text:返回alert/confirm.prompt中的文字内容
accept:点击确定按钮
dismiss:点击取消按钮,如果有取消按钮的话
send_keys:向prompt中输入文字

如:(删除商品时点击确定)

dri = driver.find_element_by_css_selector('##########')
dri[1].click()
time.sleep(3)
a = driver.switch_to.alert
a.accept()

用法:

driver.find_element_by_id("alert").click() 
time.sleep(3) 
driver.switch_to_alert().accept()    # 点击弹窗的确定按钮
driver.find_element_by_id("confirm").click() 
time.sleep(3) 
driver.switch_to_alert().dismiss()   # 点击弹窗的取消按钮
driver.find_element_by_id("prompt").click() 
time.sleep(3) 
driver.switch_to_alert().send_keys("123456")  # 向弹窗prompt输入条中输入文字
time.sleep(3) 
driver.switch_to_alert().accept() 

备注:send_keys这个方法在chromedriver中输入后不会显示。
 

三、滚动条
For a in range(5)   #6次  
Js="document.documentElement.scroIITop=document.documentElement.scroIITop+100"
# +100表示幅度
	driver.execute_script(js)   #(调用执行)
	time.sleep(3)
time.sleep(3)

四、多窗口处理
dangqian = driver.current_window_handle   # 获取当前窗口句柄
# 再定位元素进行操作(点击等)
time.sleep(3)
suoyou = driver.window_handles   # 获取所有窗口句柄
for hands in suoyou:
    if hands != dangqian:
        driver.switch_to.window(hands)   # 通过句柄跳转窗口
driver.close()  # 关闭新打开的窗口
driver.switch_to.window(dangqian)   # 回到之前的窗口

五、Cookie处理
#第一段代码
#登录前获取cookies
ck_list=driver.get_cookies()
for ck in ck_list:
   print(ck)
time.sleep(20)
print("----------手工登录----------")   #(手动输入用户名密码)
#登录后获取cookie
for ck in ck_list:
   print(ck)

#第二段代码  (name与value用第一段代码打印出来的两个)
driver.add_cookie({'name': 'xxxxxxxx','value': 'xxxxxxxxxxx'}) 
driver.add_cookie({'name': 'xxxxxxxxxxx','value': 'xxxxxxxxxxx'}) 
ck_list=driver.get_cookies()
for ck in ck_list:
    print(ck)
time.sleep(3)
driver.get("http:\\登录成功的网页")

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值