首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python+Selenium笔记(九):操作警告和弹出框

(一) 前言 开发人员使用JavaScript 警告或者模态对话框来提示校验错误信息、报警信息、执行操作后的返回信息,甚至用来接收输入值等。...API补充说明(基于笔记7) 方法 简单说明 switch_to_active_element() 返回当前焦点的对象 switch_to_alert() 把焦点切换至当前页面弹出的警告 switch_to_default_content...() 切换焦点至默认框架内 switch_to_frame() 通过索引、名称和网页元素,将焦点切换至指定的框架 switch_to_window() 切换焦点到指定的窗口 (五) 示例(检查博客园首页点击退出是否弹出提示...sign_out_btn = span_userinfo.find_element_by_link_text('退出') 20 sign_out_btn.click() 21 #将焦点换到当前页面弹出的警告...25 self.assertTrue(alert_text == '确认退出吗?')

3.8K90
您找到你想要的搜索结果了吗?
是的
没有找到

Selenium WebDriver脚本Java代码示例

Close和Quite关闭和退出浏览器窗口 切换内嵌框架Frame 切换到弹出框 创建一个WebDriver脚本,它将: 1、跳转到MercuryTours的主页(Demo页面); 2、验证其主页的标题...关闭和退出浏览器窗口 切换内嵌框架Frame 要访问框架中的GUI元素,我们应该首先引导WebDriver焦点放在框架或弹出窗口上,然后才能访问其中的元素。...为了做到这一点,我们必须首先命令WebDriver使用switchTo().frame() 方法切换到classFrame 框架。我们将使用框架的name属性作为frame()部分的参数。...切换到弹出框 WebDriver允许显示诸如警告之类的弹出窗口。要访问警报中的元素(比如它包含的消息),必须使用switchTo().alert() 方法。...switchTo().frame() 和switchTo().alert() 方法分别用于将WebDriver焦点换到框架或警报弹窗上。

5.2K20

八千字直接带你学完《基于Python的Selenium4入门到高级》全教程

:指的是网页的HTML代码结构的最外层一层层的写到需要被定位的页面元素为止。...使用相对路径定位:不是根目录写起,而是网页文本的任意目录开始写。相对路径起始于//,//所表示的含义是“任意标签下”。demo://input[@id='kw'] 注解: 1....派生选择器-----AA>XX或AA XX选择AA标签下的XX元素 • 你可以通过获取xpath的方式来页面获取css选择器在css里标识层级关系使用的是>或者空格(xpath里使用的是/) div#...获取所有打开页面的句柄,是一个列表 • switch_to.window(“XX”)切换到指定页面,XX代表页面句柄 • switch_to.frame(XX)切换到内敛框架页面,XX代表内联框架标签的定位对象...• swith_to.parent_frame()回到内敛框架的上一级,即从内敛框架切出。

2.9K52

selenium-java web自动化测试工具

本篇文章由来,这两天整理了下自己经常使用而且很熟练的项目,今天突然想起漏了一个,补上了,但想到还没对应的博客,那就写一个简单的 我经常使用且相对熟练的部分技术如下(不知道算不算各位大神眼中的辣鸡): ?...Frame的页面,以百度盘登录为例 ?   ...String handle = driver.getWindowHandle(); // 获取所有页面的句柄,并循环判断不是当前的句柄 然后切换到子窗体 for (String handles...) 下有很多方法,比如后退,刷新等 Thread.sleep(2000); } }     注意:1.我这里只开了两个窗口,如果是多个,而且需要在窗口间切换操作的,注意在一个窗口中完成操作后,确认是否回到需要操作的窗口...       2.页面内部有frame的,除了切换到具体页面外,还要切换到对应的frame中才行        3.关闭窗口时,也要确认操作的对象

2.7K20

Selenium操作Frame中的页面元素

这种情况下,如果直接去定位嵌套在Frame页面中的元素就会抛出NoSuchElementException异常。所以在操作嵌套在Frame框架上页面元素前,需要将页面焦点换到Frame中。...嵌套多个Frame的页面,这种情况我们就需要一层层的跳转,第一层跳转到要定位元素所在的那层框架。处理完业务如果需要跳转到其他层框架,首先需要跳转到最外层的页面,然后再逐一跳转Frame框架。...,获取Alert,并且接受Alert; 二、定位页面最中间的Frame: 1.最左侧的Frame中跳转到最外层的页面; 2.定位页面中间的Frame; 3.获取页面中间Frame中的内容; 4.通过条件判断获取的内容是否复核预期结果...在这里特此总结一下经常用到的方法: switch_to_alert() 切换到alert弹窗 ; switch_to_window(window_name) 切换到某个浏览器window_name窗口...() 返回文档主页,其他Frame/Iframe中返回到最外一层; switch_to.parent_frame() 切换到父frame,可以切换到上一层的frame,对于层层嵌套的frame很有用

2.4K30

自动化测试工具Selenium的基本使用方法

比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器;由于selenium解析执行了CSS、JavaScript所以相对requests它的性能是低下的; 二、selenium基本使用...filename=jqueryui-api-droppable') browser.switch_to.frame('iframeResult')#切换到id='iframewrapper'的iframe...element=None) ——按下某个键盘上的键 key_up(value, element=None) ——松开某个键 move_by_offset(xoffset, yoffset) ——鼠标当前位置移动到某个坐标...多少距离的位置 perform() ——执行链中的所有动作 release(on_element=None) ——在某个元素位置松开鼠标左键 send_keys(*keys_to_send) ——发送某个键到当前焦点的元素...中切回主文档(switch_to.default_content()) 切到frame中之后,我们便不能继续操作主文档的元素,这时如果想操作主文档内容,则需回主文档。

2K30

三种切换

iframe当中回到默认的页面当中。...driver.switch_to.default_content() 想在这个iframe当中再切换到下一级,一层一层切进去就可以了,不能够跳层,如果你在这个html页面中还有iframe,那就切换两次...#iframe当中回到默认的页面当中。 # 默认的页面就是访问一个网址,默认加载的,在f12中,看到的第一个html是它的主页面。...按ctrl+f,确认你的定位表达式在运行结果的页面中是否也可靠,直接在运行结果页面调试,这是初期最主要的调试手段。 ? 4.句柄可以理解成id,一个句柄就是一个id。 ? 图中就是句柄的id。...所以,我们即使确认alert弹框出现了,我们自己想要对它进行下一步处理的时候,还是要driver.switch_to.alert自己再一次,不然就不好处理了。

1.1K10

《手把手教你》系列练习篇之7-python+ selenium自动化测试 -压轴篇(详细教程)

perform() ——执行链中的所有动作 release(on_element=None) ——在某个元素位置松开鼠标左键 send_keys(*keys_to_send) ——发送某个键到当前焦点的元素...在页面A跳转到页面B之前,我们需要用一个变量保存这个新闻的标题 3. 切换到页面B后,我们获取这个新闻标题,然后和前面这个变量保存的值去对比,如果相等,那么就测试通过。...先实现页面A切换到页面B 2. 页面A和页面B两个新闻标题进行对比 先看看窗口切换的脚本代码: 5.1 代码实现: ? 5.2 参考代码: # coding=utf-8?...3. for 循环遍历,当发现其中一个句柄和当前句柄不相等,这里做了三件事,第一件,打印一个语句,告诉你马上要切换到第二个窗口,第二件,关闭当前窗口,这里指页面A,第三,切换到页面B窗口。...这里在切换到第二个页面时候,我关闭之前的页面A,只是我个人测试习惯,你可以不关闭,但是你的要思路清晰,哪些元素在页面A还是在页面B,如果操作了页面B后还要操作页面A的元素,你还要切换到页面A,为了麻烦,

1.3K30

Appium自动化(15) - 针对 webview 进行自动化测试

,它使用的内核是 引擎,Android 4.4版本之后,直接使用 Chrome 作为内置网页浏览器 webkit 简单理解:就是App 中内嵌了一个浏览器 类比:Web 浏览器里面的 iframe 做...findViewById(R.id.jcywebview); # 添加这一行 myWebView.setWebContentsDebuggingEnabled(true); }; 注意:应用市场下载的...原生有交互,依赖app 方法:通过chrome 浏览器的远程调试功能(前提是本电脑可以爬梯子上网) app 已打开 打开chrome 浏览器,地址输入 (如下图) chrome://inspect 确认...可以随意定位 webview 页面的元素了 ?...确认手机 webview版本 方式一:电脑chrome浏览器访问 chrome://inspect 翻上去,前面已经讲啦【注意标红文字】 方式二:手机设置 在手机设置页面,搜索webview就可以啦 ?

2.8K20

Appium+python自动化13-native和webview切换

(手机上要先装个百度阅读APP,本篇以百度阅读APP为案例讲解) 一、识别webview 1.用定位工具查看页面,发现页面上有些区域无法定位到,如下图左边红色区域,只能定位到这个大框框,红色框里面的元素是无法识别的...2.这时候可以查看元素属性,如右图它的class属性,上面写着WebView,那毫无疑问这种页面就是webview了。 ?...四、回native 1.webview上操作完后,想回到native上操作,这时候需要先回来,回native有两个方法: 方法一:driver.switch_to.context("NATIVE_APP...") # 这个NATIVE_APP是固定的参数 方法二:driver.switch_to.context(contexts[0]) # contexts里取第一个参数 ?...五、参考代码 # coding:utf-8 from appium import webdriver import time desired_caps = {'platformName': 'Android

1.9K60

【UI自动化-3】UI自动化元素操作专题

首先,Select类的有参构造函数可以看出,在初始化一个select时,需要WebElement作为入参。接下来,我们看看,Select类提供了哪些函数吧。...这些方法的返回值都是WebDriver,我们可以理解为driver的焦点发生了转移。因此,有一点需要留意,既然焦点转移到了新的页面上,那么想要定位原页面的元素,就要跳转回去。...,有两种情形: 在当前窗口加载新页面内容 新建一个窗口加载新页面内容,这种情况在a标签有target="_blank"时触发 当发生第2种情况时,同上文的frame类似,由于driver的焦点还停留在原窗口...,我们在新窗口的页面上定位元素时,自然会产生错误,因此引出driver焦点跳转问题。...所以我们可以使用 sendKeys(Keys.TAB) 来切换元素的焦点,从而达到选择元素的作用,这个最常用到的场景就是在用户名和密码的输入过程中。

2.7K20

selenium自动化测试报告_selenium自动化测试断言

'图片').click() # 这两个属性可以用来做断言使用 print("当前页面标题:", driver.title) print("当前页面的url:", driver.current_url)...# 这里关闭的是原始页面,而不是新的页面,只有完成页面切换才可以关闭新的页面 # 场景:关闭单个页面使用 driver.close() sleep(3) # 关闭浏览器驱动对象的所有页面 driver.quit...在一些特殊场景中,一些按钮是在页面最下角,需要使用滚动条拉到最底层。...frame的切换 回到主页面的方法:driver.switch_to.default_content() """ 需要默认切换到frame 方法:driver.switch_to.default_content...,但是selenium默认焦点只会在主窗口上的所有元素,不切换窗口,就不能操作除主窗口以外的窗口内元素。

2.4K20

web自动化测试入门篇03——selenium使用教程

启动  我们将一准备就绪后就可以开始我们的selenium之旅了,首先我们需要将使用selenium进行浏览器的启动(访问百度)。...标签页中会将焦点对应跳转至该元素的html代码行中,接下来我们就可以针对不同的元素和不同的属性来进行定位操作。...首先我们需要明确的是每种类型的弹窗中元素也是各不相同,所以我们针对不同的弹窗使用不同的属性来定位和操作。 警告弹窗 一般来说就是告知到使用者执行某些操作与页面之后将要注意的事项,这种窗口只需确认。...()sleep(1)# 在警告弹窗中点击确认按钮browser.switch_to_alert().accept() 确认弹窗 多用于在用户执行提交操作后的动作确认,有确认和取消两个选项。...,无论是文件中还是提取又或者是遍历,出现少字漏字的话,同样也可以使用延时的方法,适当的放慢处理的速度; 在页面中总会有些不可见的元素,这种情况使用is_displayed()方法即可快速定位找到;

2.2K30

Selenium之操作浏览器、元素等待、窗体切换和弹窗处理

使用前,需要先导入keys类 from selenium.webdriver.common.keys import Keys send_keys()方法用来模拟键盘输入,常用的键盘操作: send_keys...判断某个元素中是否不存在于dom树或不可见 element_to_be_clickable : 判断某个元素中是否可见并且是enable的,这样的话才叫clickable staleness_of :等某个元素dom...用法: import time time.sleep(5) #停留5秒以后再继续操作 frame/iframe/window切换 1、有时候页面会经常遇到frame/iframe嵌套,WebDriver...只能在一个页面上对元素识别与定位,这个时候需要切换到相应的frame/iframe里面。...注意: driver.switch_to.alert.send_keys('hello world') #只对prompt有效 driver.switch_to.alert.accept() #确认

1.6K11
领券