webdriver获得文本

WebDriver获得表格里所有单元格的文本 方法为: 1. 得到表格中所有的tr,存到list到中 2.对tr进行循环,根据当前的tr,得到当前所有td的集合存到list当中 3.循环中所有td里的文本  具体实现为 package com.example.tests; import static org.junit.Assert.*; import java.util.*; import org.junit.*; import 阅读详情
 
webDriver实现了web应用各种元素的api,并支持js操作页面元素,比如下拉框,复选框,单选按钮等
一、通过webdriver提供的api完成各种验证操作
1、检查元素的属性值
使用getAttribute()完成
WebElement element = driver.findElement(By.id("logout"));
String alignStr = element.getAttribute("align");
assertEquals("right",alignStr);
使用getCssValue()方法获取css属性
WebElement element = driver.findElement(By.id("logout"));
String width = element.getCssValue("width");
assertEquals("100px",width);
2、检查元素文本值,getText()方法
WebElement element = driver.findElement(By.id("logout"));
String alignStr = element.getText();
assertEquals("退出",alignStr);
通过以上方法可以完成对某个元素是否出现在dom中,帮助我们完成对测试结果的判断,但此方法不太常用,由于某个元素没有出现的话,findElement方法会直接抛出异常,后边我会在测试流控制的文章给大家介绍如何完成测试结果的判断
二、如何使用程序控制鼠标和键盘以完成交互操作
webdriver中提供了一个Actions类,帮助我们完成鼠标及键盘来相应事件
1、使用Actions完成一组操作,代码示例:
List<WebElement> table = driver.findElements(By.xpath("//table[@id,table_id]/tr"));
Actions builder = new Actions(driver);
builder.click(table.get(0)).keyDown(Keys.CONTROL).click(table.get(2)).keyUp(Keys.CONTROL).build().perform();
从示例中可以看出,通过Actions类构建一连串的操作,依次是,单击-》按下ctr键-》单击-》放开ctrl键  ,然后build(),最后执行定义的这一组操作
上边示例是用户在操作表格时,选择同时选中第一行到第三行表格数据的操作,大家可以根据场景需要,灵活变通,其实,就是不同事件的组合,另外需要注意的是,使用时要确保元素可见。
2、使用Actions完成双击操作
WebElement img = driver.findElement(By.id("img"));
Actions builder = new Actions(driver);
builder.doubleClick(img).build().perform();
3、执行拖拽操作,首先需要定位源元素及目的元素,以下是完成将img1拖动到img2的操作
WebElement img1 = driver.findElement(By.id("img1"));
WebElement img2 = driver.findElement(By.id("img2"));
Actions builder = new Actions(driver);
builder.dragAndDrop(img1,img2).perform();
4、调用js代码,
demo_1:使用js完成关闭当前页面
JavascriptExecutor js = (JavascriptExecutor)driver;
jsStr = "window.close()";
js.executeScript(jsStr);
demo_2:使用js得到当前页面标题
JavascriptExecutor js = (JavascriptExecutor)driver;
jsStr = "return document.title";
String title = (String)js.executeScript(jsStr);
5、使用webdriver截图,代码示例:
File img = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); FileUtils.copyFile(img, new File("target/screenshot/i.jpg")); 6、常见页面控件的操作
a. 下来框的操作,使用Select类操作,methods 在api中都有体现
b.  对于单选按钮,复选框,selenium中没有专门的类对其操作,对这两中元素使用WebElement中的isSelected() 方法操作
7、webdriver提供WindowsUtils类完成对windows的进程,注册表,系统目录的操作,详见api

8.循环中所有td里的文本 

具体实现为

    package com.example.tests;  
    import static org.junit.Assert.*;  
    import java.util.*;  
    import org.junit.*;  
    import org.openqa.selenium.*;  
    import org.openqa.selenium.ie.InternetExplorerDriver;  
    public class Selenium2 {  
        WebDriver driver = new InternetExplorerDriver();  
        JavascriptExecutor jse = (JavascriptExecutor)driver;  
        @Test  
        public void tableTest() {     
            driver.get("http://www.w3school.com.cn/html/html_tables.asp");     
            //首先得到所有tr的集合  
            List<WebElement> rows = driver.findElements(By.cssSelector(".dataintable tr"));   
            //验证表格的行数  
            assertEquals(11,rows.size());  
             //打印出所有单元格的数据  
            for (WebElement row : rows) {   
                //得到当前tr里td的集合  
                List<WebElement> cols =  row.findElements(By.tagName("td"));   
                for (WebElement col : cols) {  
                    System.out.print(col.getText());//得到td里的文本  
                }  
                System.out.println();  
            }  
            driver.close();  
        }  
    }  
打印结果为

---------------------------------------------------------------------------------

<table>定义表格
<caption>定义表格标题。
<th>定义表格的表头。
<tr>定义表格的行。
<td>定义表格单元。
<thead>定义表格的页眉。
<tbody>定义表格的主体。
<tfoot>定义表格的页脚。
<col>定义用于表格列的属性。
<colgroup>定义表格列的组。

 


Webdriver利用JS给只读属性的文本框赋值 给只读文本框赋值,这里列举了 阅读详情

相关推荐

Selenium Chrome Webdriver 如何获取 Youtube 悬停文本

Selenium 是一个。

NHB66666666的博客 1489

selenium webdriver 学习总结-Selenium API常用(四)

欢迎加入测试技术交流群:161204772   webDriver实现了web应用各种元素的api,并支持js操作页面元素,比如下拉框,复选框,单选按钮等 一、通过webdriver提供的api完成各种验证操作 1、检查元素的属性值 使用getAttribute()完成 WebElement element = driver.findElement(By.id("lo

Welcome to ray's blog home page 1677

【Selenium WebDriver自动化测试实例】清除文本框内容!

**package navigateBack; import org.testng.annotations.Test; import org.testng.annotations.BeforeClass; import org.apache.http.util.Asserts; import org.openqa.selenium.By; import org.openqa.selenium.We...

Kydk0013的博客 2424

selenium获取元素信息常用方法

本文介绍了使用 Selenium 获取网页元素信息的常用方法,包括获取元素大小、文本内容、属性值、判断元素是否可见、可用、选中等。同时还介绍了获取当前页面 URL 和 Title 的方法。这些方法对于 Web 应用程序测试和页面分析非常有用。

鹅不糊涂的博客 9899

如何处理selenium Webdriver中的文本框?

如果我们仔细观察,我们可以看到DOM元素中“placeholder”属性的值表示在网页上显示为占位符文本的值。因此,如果我们可以获得“placeholder”属性的值,它将为我们提供占位符文本。所以,如果我们能找到一种方法来获取“value”属性的值,我们也将拥有预填充的文本。现在,我们将找到写在输入字段中的占位符文本。如果我们检查突出显示的元素,它将指向它的DOM,在那里我们可以看到元素的ID属性。我们已经使用输入类型元素演示了我们的示例,但我们也可以使用textarea元素并执行相同的操作。

C'mon的博客 749

STM32 I²C外设深度解析:时序配置、主从模式与可靠性工程

I²C是一种广泛应用于嵌入式系统的同步串行总线协议,其核心在于精确的时序控制与可靠的电气特性匹配。理解SCL/SDA信号建立/保持时间、上升下降沿约束及硬件滤波机制,是保障通信稳定的基础;STM32通过I2C_TIMINGR寄存器实现对PRESC、SCLH、SCLL、SDADEL和SCLDEL等关键参数的精细调控,直接影响tSU:DAT、tVD:DAT等标准时序合规性;该能力支撑工业级高可靠场景下的主从双向通信、时钟拉伸管理与错误恢复;本文聚焦STM32平台,结合寄存器级配置、状态机行为与实战调试经验,系统

weixin_42146230的博客 87

Chrome webdriver 获取页面信息

test_txt = driver.page_source

qq_41048831的博客 2035

从string一词感受从字母象形到语义生成的底层逻辑

从词源上看,个人认为,soft一词的含义主要来自于“柔软水滑或柔软光滑”这样的含义,是从这样的含义中逐渐窄化,最终主要用来指“柔软”之意,而光滑、水滑这样的含义或语义形象最终被淡化,所以,soft如果符合首字母象形原则,那么它主要的来源形象,应当是【水】,也就是说,soft一词和smooth(a.光滑的)、ski(滑雪)/skate(滑冰)、slip(滑倒)/slippers(拖鞋)、slide(滑动)是相通的,并最终和sea(海)、sweat(汗/汗水)这一类和水一直相关的单词也相通。

nshkfhwr的博客 1269

Python使用Selenium Webdriver爬取网页所有内容

对于抓不到全部html内容的情况,我们能采取什么应对措施呢,本文介绍一种可行的方法,就是通过Selenium webdriver来模拟浏览器运行的方式,这样就可以做到在浏览器中看到是什么样,抓取的源码就是什么样,也就是可见即可爬。在浏览器中打开这个页面时,首先会加载这个HTML内容,接着浏览器会发现其中引入了一个app.js文件,然后便会接着去请求这个文件,获取到该文件后,便会执行其中的JavaScript代码,而JavaScript则会改变HTML中的节点,向其中添加内容,最后得到完整的页面。

hubing_hust的专栏 2万+

【TELEMAC V8P4】TELEMAC-2D 用户手册核心概念与应用场景速览

本文深入解析了TELEMAC-2D水动力模型的核心概念与应用。作为基于二维浅水方程的开源数值模拟工具,TELEMAC-2D广泛应用于河流动力学、洪水演进、污染物输运及泥沙运动模拟。文章结合用户手册与实战经验,详细拆解了其理论框架、关键物理过程(如湍流模型、干湿网格处理),并提供了从模型搭建、文件配置到典型场景(如工程评估、污染应急、洪水模拟)的实用指南,帮助用户快速掌握这一强大工具。

weixin_29200741的博客 163

nbiot和2g_浅谈NBIOT

一、什么是NBIOT?1、概念窄带物联网(Narrow Band Internet of Things, NB-IoT),NB-IoT构建于蜂窝网络,只消耗大约180KHz的带宽,使用License频段,可采取带内、保护带或独立载波等三种部署方式,与现有网络共存。可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级。2、NBIOT的特点和目标(1)超强覆盖:相对GPRS来...

weixin_39534100的博客 1704

软件测试笔记|web自动化测试|web自动化测试中,如何获取网页元素的文本?

获取网页元素的文本可以用于验证页面内容是否正确显示、进行数据提取等操作。不同的自动化测试框架和编程语言可能会有略微不同的语法,但基本原理是相似的。

阳哥精心梳理软件测试知识,从基础理论到实战技巧,为你打开软件测试的精彩世界,助力你的测试之路更顺畅 859

STM32F4系列HAL库配置定时器实验——输入捕获

STM32F4系列HAL库配置定时器实验——输入捕获 输入捕获简单讲解 输入捕获模式可以用来测量脉冲宽度或者测量频率。我们以测量周期和频率为例,用一个简图来说明输入捕获的原理 假定定时器工作在向上计数模式, 图中 t1~t2 时间,就是我们需要测量的高电平时间。测量方法如下:首先设置定时器通道 x 为 上升沿捕获,这样,t1 时刻,就会捕获到当前的 CNT 值,然后立即清零 CNT,并设置通道 x为下降沿捕获,这样到 t2 时刻,又会发生捕获事件,得到此时的 CNT 值,记为 CCRx2。这样,根据定时器

azs0504的博客 9286

chrome webdriver_用webdriver 直接获得接口的数据

前些阵子在抓某平台的数据时,每个接口都带有加密的sign参数,于是决定调试js代码,但无奈js代码实在太多,直接把控制台卡死,基本上没法打断点调试,于是决定上大杀器webdriver。一般我们用webdriver时候都是通过xpath,css之类的选择器取页面的数据,今天我教你另一种方案,直接获得response! 此方法能够应对任意的需要签名,带加密参数的反爬手段,所见即所得。import 重点...

weixin_39616477的博客 1209

NLP高频面试题(一)——Transformer的基本结构、作用和代码实现

本文详细介绍了Transformer模型的基本结构和PyTorch代码实现过程。首先解析了Transformer的核心组成部分,包括嵌入层、多头自注意力机制、位置编码、前馈神经网络、编码器和解码器等模块,并通过清晰的代码示例逐步展示了如何在PyTorch中构建完整的Transformer模型。文末提供了一个可运行的简单示例,帮助读者快速理解并实践Transformer的核心原理与实现方法。

WeLearnNLP 1026

k8s 不同node之间pod ip不通

底层k8s使用calico网络,ipip网络模式,kubevirt启动了2台虚拟机;在这两台虚拟机上再搭建k8s,calico网络,ipip网络模式。说明:我是使用helm安装的calico,改这个模式要改crd资源ippools。其他方式安装的calico修改方法可能不一样。在虚拟机上的k8s上启动了2个pod,分布在不同的node上,这两个pod不能ping通对方的pod ip。修改虚拟机之上的k8s集群的calico网络的ipipMode为Never即可,之前使用的是Always。

weixin_40548182的博客 4056

使用selenium webdriver从隐藏元素中获取文本

由于webdriver spec的定义,Selenium WebDriver 只会与可见元素交互,所以获取隐藏元素的文本总是会返回空字符串。 可是,在某些情况下,我们需要获取隐藏元素的文本。这些内容可以使用element.attribute('attributeName'), 通过textContent, innerText, innerHTML等属性获取。 innerHTML 会返回元素的内部...

三人行必有我师的博客 1767

mediasoup源码分析(二十)服务端架构设计

目录 简介 信令服务(房间服务) 调度服务 媒体服务 简介 流媒体服务器大的方向上可以分为上述三个模块。目前行业内都是分布式服务,独立部署。mediasoup信令与媒体之间虽然可以管道通信。但在行业内,服务之间通过管道通信用的少。 一般是rpc、mq,或者传统的tcp。这块licode架构比较不错,licode是信令和媒体服务通过MQ消息队列解耦。 下面介绍一下这三个服务主要功能,当然文中所说也是一家之言。 信令服务(房间服务) 信令服务也称为房间服务。有的企业把信令和房间分开,信..

lcalqf的专栏 1545

python使用selenium webdriver从隐藏元素中获取文本

由于webdriver spec的定义,Selenium WebDriver 只会与可见元素交互,所以获取隐藏元素的文本总是会返回空字符串。  可是,在某些情况下,我们需要获取隐藏元素的文本。这些内容可以使用element.attribute('attributeName'), 通过textContent, innerText, innerHTML等属性获取。 innerHTML 会返回元素的内...

qq_39469584的博客 6598

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Selenium Webdriver原理终于搞清楚了

前言 selenium1.x:这个时候的selenium,使用的是JavaScript注入技术与浏览器打交道。需要Selenium RC启动一个Server,将操作Web元素的API调用转化为一段段Javascript,在Selenium内核启动浏览器之后注入这段Javascript。Javascript可以获取并调用DOM的任何元素,自如的进行操作。由此才实现了Selenium的目的:自动化Web操作。 这种Javascript注入技术的缺点是速度不理想,而且稳定性大大依赖于Selenium内核对

专注自动化、性能测试、测试架构学习交流 1万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

使用 webdriver 从标签中获取文本内容的方法

bucket_text = driver.find_element_by_xpath('//p[@class="bucket-text"]').get_attribute('textContent') print(bucket_text)使用driver.find_element_by_xpath('').get_attribute('textContent') 来获取指定节点中的

HeatDeath的博客 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

div 隐藏_python使用selenium webdriver从隐藏元素中获取文本

由于webdriver spec的定义,Selenium WebDriver 只会与可见元素交互,所以获取隐藏元素的文本总是会返回空字符串。可是,在某些情况下,我们需要获取隐藏元素的文本。这些内容可以使用selenium 自带的方法:element.attribute('attributeName')以及element.text属性获取标签内容。或者通过JS提供的te...

weixin_39725403的博客 570

WebDriver API文档

WebDriver API文档 定位元素 find_element_by_id:通过id属性定位 find_element_by_name:通过name属性定位 find_element_by_class_name:通过class属性定位 find_element_by_tag_name:通过tagname(div,input)定位元素 find_element_by_link...

weixin_39460408的博客 2476

WebDriver常用笔记——清除文本/单击按钮/输入文本

笔记 一些WebDriver的常用方法 练习 from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.baidu.com") driver.find_element_by_id("kw").clear() driver.find_element_by_id("kw").send_key...

qq_39322743的博客 518
上一篇: LR有的JMeter也有之一“参数化”
下一篇: Fiddler AutoResponder 用法
zm_21
博客等级 码龄14年 147粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值