首页 > 其他分享 >selenium 小技巧集合(四)

selenium 小技巧集合(四)

时间:2023-04-06 14:46:35浏览次数:33  
标签:技巧 对话框 selenium driver al accept alert 集合 find

警告框处理

在WebDriver中处理JavaScript所生成的alert、confirm以及prompt十分简单,具体做法是使用 switch_to.alert 方法定位到 alert/confirm/prompt,然后使用text/accept/dismiss/ send_keys等方法进行操作

  • text:返回 alert/confirm/prompt 中的文字信息

  • accept():接受现有警告框

  • dismiss():取消现有警告框

  • send_keys(“haha”):发送文本至警告框

 

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.implicitly_wait(5)
driver.get("D:\\test\script\study\seleniumStu\day6\警告框.html")

# # 触发对话框
# driver.find_element_by_id("bu1").click()
# al = driver.switch_to.alert
# time.sleep(3)
# al.accept() # 确认对话框
# # 触发确认框
# driver.find_element_by_id("bu2").click()
# al = driver.switch_to.alert
# al.accept() # 确认对话框
# driver.find_element_by_id("bu2").click()
# al.dismiss() # 取消对话框
# 触发提示框
driver.find_element_by_id("bu3").click()
al = driver.switch_to.alert
al.send_keys("口罩太贵了")
al.accept() # 确认对话框
time.sleep(3)
driver.quit()

窗口截图

webdriver 提供了 get_screenshot_as_file()函数来截取当前窗口

from selenium import webdriver
from time import sleep

driver = webdriver.Chrome()
driver.get('http://www.baidu.com')

# 截屏,截取整个页面
driver.get_screenshot_as_file("./all.png")
# 截屏,截取单个元素
ele = driver.find_element_by_id('kw')
ele.screenshot("./ele.png")

driver.quit()

标签:技巧,对话框,selenium,driver,al,accept,alert,集合,find
From: https://www.cnblogs.com/junfanzy/p/17292718.html

相关文章

  • selenium 小技巧集合(一)
    键盘事件Keys()类提供了键盘上几乎所有按键的方法。前面了解到,send_keys()方法可以用来模拟键盘输入,除此之外,我们还可以用它来输入键盘上的按键,甚至是组合键,如Ctrl+A、Ctrl+C等fromseleniumimportwebdriver#引入Keys模块fromselenium.webdriver.common.keysimp......
  • Map自定义key,然后把value的集合List进行指定字段排序
    packagecom.zdft.purchase;importcom.google.common.collect.Lists;importjava.util.*;importjava.util.stream.Collectors;publicclassStudentMethod{//需求:Map自定义key,然后把value的集合List进行指定字段排序;例如:多次考试,取最高分的集合展示publics......
  • 自动化测试当中的三大设计技巧:PO设计思想,数据驱动及关键字驱动
    大家好,我是洋子。当我们以离线脚本的形式编写了大量的自动化测试代码后,很容易发现以下常见问题:(1)对于UI自动化,当UI层的元素发生改变,需要修改所有相关的case,工作量巨大(2)代码难以扩展,每次想新增一个自动化case就要写新的逻辑,补充新的代码(3)代码可读性差,代码冗余,存在大量重复代码或者......
  • 集合深拷贝
    packagea.b.utils;importlombok.extern.slf4j.Slf4j;importorg.apache.commons.io.IOUtils;importjava.io.ByteArrayInputStream;importjava.io.ByteArrayOutputStream;importjava.io.ObjectInputStream;importjava.io.ObjectOutputStream;importjava.util.Co......
  • Day 22 22.1 Web自动化之selenium&pyppeteer
    web自动化随着互联网的发展,前端技术也在不断变化,数据的加载方式也不再是单纯的服务端渲染了。现在你可以看到很多网站的数据可能都是通过接口的形式传输的,或者即使不是接口那也是一些JSON的数据,然后经过JavaScript渲染得出来的。这时,如果你还用requests来爬取内容,那......
  • 活字格性能优化技巧(1)——如何利用数据库主键提升访问性能
    本文由葡萄城技术团队于博客园原创并首发转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。大家都知道,活字格作为企业级低代码开发平台,拥有6大引擎,3大能力,能够高效落地企业级应用。在每年的应用大赛中也能看到很多格友利用活字格做了很多......
  • Selenium-处理弹窗弹出新页面的切换问题
    WebDriverWaitwait=newWebDriverWait(driver,TimeSpan.FromSeconds(60));wait.Until(driver=>{returndriver.WindowHandles.Count==waitforHandlesCount;});stringcurrent_handler=driver.Curren......
  • 第二十二篇 高级技巧
    bycaixin深圳高级技巧-高级函数在JavaScript里面,函数拥有非常高的特权,甚至是一等公民,因此也跟Kotlin一样支持多种编程范式一些写函数时的高级技巧纯函数高阶函数函数缓存懒函数柯里化函数组合纯函数纯函数要满足两个条件:1、给相同的参数返回相同的结果2、......
  • 面试题大集合
    目录第一章Python基础第二章函数第三章模块第四章面向对象第五章网络和并发编程第六章数据库和缓存第七章前端第八章django第九章Flask第十章tornado第十一章api第十二章git第十三章爬虫第十四章算法和数据结构第十五章Linux第十六章设计题第十七章客观题第十八......
  • 永久免费使用ChatGPT技巧
    ChatGPT简介可以帮助回答问题,提供建议和提示,可直接进行对话,以帮助解决困难和问题通过使用自然语言处理技术来了解问题,并使用机器学习算法来生成回答可以回答各种问题,包括科技,文化,历史,旅游,饮食等各种领域还可以学习和适应定制需求,以改进ChatGPT回答和建议无论是在寻找解决方......