Selenium学习5--浏览器多窗口和TimesOut

2024-01-09 17:58

本文主要是介绍Selenium学习5--浏览器多窗口和TimesOut,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

新窗口弹出后, 可以通过他的标识符切换到此窗口,在对窗口的元素进行操作

WebDriver mainWindow = new FirefoxDriver();
Navigation navigation = mainWindow.navigate();
navigation.to("http://www.baidu.com");
WebElemen bnInMainWindow = mainWindow.findElemen(By.name("tj_req"));
btnInMainWindow.click();String[] handles = new String[mainWindow.getWindowHandles().size()];
mainWindow.getWindowHandles().toArray(handles);
WebDriver childWindow = mainWindow.switchTo().window(handles[1]);WebElement tbxInChildWindow = childWindow.findElement(By.id"pass_reg_email_0"));
tbxInchildWindow.sendKeys("12345");

获取Window进行简单的处理,例如窗体大小,坐标, 使其最大化

WebDriver mainWindow = new FirefoxDriver();
Navigation navigation = mainWindow.navigate();
navigation.to("http://www.baidu.com");
Window window = mainWindow.manage().window();window.getPosition().x;
window.getSize().width;window.maximize();

TimesOut()

driver.timeouts()方法返回timeouts对象

Timeouts timeouts = driver.manage().timeouts();//将脚本在查找元素时的最大等待时间设置为30,单位秒
timeouts.implicitlyWait(30, TimeUnit.SECONDS);//将页面跳转或者刷新的时间设置为30,单位秒
timeouts.pageLoadTimeout(30, TimeUnit.SECONDS);//将脚本异步执行的超时时间设置为30,单位秒
timeouts.setScriptTimeout(30, TimeUnit.SECONDS);

这篇关于Selenium学习5--浏览器多窗口和TimesOut的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/587945

相关文章

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

如何关闭Mac的Safari通知? 3招教你关闭Safari浏览器网站通知的技巧

《如何关闭Mac的Safari通知?3招教你关闭Safari浏览器网站通知的技巧》当我们在使用Mac电脑专注做一件事情的时候,总是会被一些消息推送通知所打扰,这时候,我们就希望关闭这些烦人的Mac通... Safari 浏览器的「通知」功能本意是为了方便用户及时获取最新资讯,但很容易被一些网站滥用,导致我们

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Python Selenium动态渲染页面和抓取的使用指南

《PythonSelenium动态渲染页面和抓取的使用指南》在Web数据采集领域,动态渲染页面已成为现代网站的主流形式,本文将从技术原理,环境配置,核心功能系统讲解Selenium在Python动态... 目录一、Selenium技术架构解析二、环境搭建与基础配置1. 组件安装2. 驱动配置3. 基础操作模

SpringBoot UserAgentUtils获取用户浏览器的用法

《SpringBootUserAgentUtils获取用户浏览器的用法》UserAgentUtils是于处理用户代理(User-Agent)字符串的工具类,一般用于解析和处理浏览器、操作系统以及设备... 目录介绍效果图依赖封装客户端工具封装IP工具实体类获取设备信息入库介绍UserAgentUtils

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

PyInstaller打包selenium-wire过程中常见问题和解决指南

《PyInstaller打包selenium-wire过程中常见问题和解决指南》常用的打包工具PyInstaller能将Python项目打包成单个可执行文件,但也会因为兼容性问题和路径管理而出现各种运... 目录前言1. 背景2. 可能遇到的问题概述3. PyInstaller 打包步骤及参数配置4. 依赖

使用DrissionPage控制360浏览器的完美解决方案

《使用DrissionPage控制360浏览器的完美解决方案》在网页自动化领域,经常遇到需要保持登录状态、保留Cookie等场景,今天要分享的方案可以完美解决这个问题:使用DrissionPage直接... 目录完整代码引言为什么要使用已有用户数据?核心代码实现1. 导入必要模块2. 关键配置(重点!)3.

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx