根据一个网站仿做新网站是什么网站,新型电子产品代理加盟,做网站公司流程,做科技汽车的视频网站有哪些天行健#xff0c;君子以自强不息#xff1b;地势坤#xff0c;君子以厚德载物。 每个人都有惰性#xff0c;但不断学习是好好生活的根本#xff0c;共勉#xff01; 文章均为学习整理笔记#xff0c;分享记录为主#xff0c;如有错误请指正#xff0c;共同学习进步。… 天行健君子以自强不息地势坤君子以厚德载物。 每个人都有惰性但不断学习是好好生活的根本共勉 文章均为学习整理笔记分享记录为主如有错误请指正共同学习进步。 文章目录 1. 定位方法2. Java代码 执行程序前请先配置驱动 关于Java selenium使用前浏览器驱动的下载和环境变量的配置 关于Selenium自动化测试工具的Java实现详情请参考文章 如何查看页面对应的Selenium定位参数 Java实现 selenium Web自动化测试简单篇 Java实现 selenium Web自动化测试详细篇 1. 定位方法
想要模拟浏览器操作就需要先定位浏览器的输入框按钮等标签位置 selenium提供了8种定位方式这8种定位方式在Java selenium中对应八种方法
selenium定位方式Java selenium定位方法idfindElement(By.id())namefindElement(By.name())class namefindElement(By.className())tag namefindElement(By.tagName())link textfindElement(By.linkText())partialink textfindElement(By.partialLinkText())xpathfindElement(By.xpath())css selectorfindElement(By.cssSelector())
接下来就是8种定位方式和定位后的操作
2. Java代码
完整代码 LocateElementTest.java
package com.libai.test.selenium.chrome;import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;/*** ClassDescription: 元素定位定位页面中的某个元素标签的位置* JdkVersion: 1.8* Author: 李白* Created: 2024/5/8 10:16*/
public class LocateElementTest {public static void main(String[] args) {//指定驱动第一个参数为驱动名称不同浏览器的参数名称不一样请根据浏览器查询到对应的浏览器参数名第二个参数为驱动文件路径即驱动完整文件路径System.setProperty(webdriver.chrome.driver, D:\\JavaSoftWares\\Google\\driver\\chromedriver-win64\\chromedriver.exe);// 谷歌驱动ChromeOptions cops new ChromeOptions();// 允许所有请求cops.addArguments(--remote-allow-origins*);//创建驱动对象WebDriver webDriver new ChromeDriver(cops);// 启动需要打开的网页webDriver.get(https://www.baidu.com);//指定窗口大小--最大化webDriver.manage().window().maximize();//定位页面元素的方法//一、input标签元素定位如我们现在有一个网页输入框input部分的前端代码如下/*input typetext classs_ipt namewd idkw maxlength100 autocompleteoff*///对input标签进行定位的方法如下//1-通过id定位
// webDriver.findElement(By.id(kw));
// //2-通过name定位
// webDriver.findElement(By.name(wd));
// //3-通过class name定位
// webDriver.findElement(By.className(s_ipt));
// //4-通过tag name定位----因无tag标签暂未验证
// webDriver.findElement(By.tagName(input));
// //5-通过xpath定位该定位方法有很多种写法常用的几种如下
// webDriver.findElement(By.xpath(//*[idkw]));
// webDriver.findElement(By.xpath(//*[namewd]));
// webDriver.findElement(By.xpath(//input[classs_ipt]));
// webDriver.findElement(By.xpath(//form[idform]/span/input));
// webDriver.findElement(By.xpath(//input[idkw and namewd]));
// //6-通过css定位同样有很多种方法如下为几种常用方法
// webDriver.findElement(By.cssSelector(#kw));
// webDriver.findElement(By.cssSelector([namewd]));
// webDriver.findElement(By.cssSelector(.s_ipt));
// webDriver.findElement(By.cssSelector(form#form span input));//二、网页的文本链接元素定位如百度首页的文本链接代码如下/*a hrefhttp://news.baidu.com target_blank classmnav c-font-normal c-color-t新闻/aa hrefhttps://www.hao123.com?srcfrom_pc_logon target_blank classmnav c-font-normal c-color-thao123/a*///对文本链接进行定位的方法如下//7-通过link text定位定位后使用click函数点击跳转到新闻页面
// webDriver.findElement(By.linkText(新闻)).click();
// webDriver.findElement(By.linkText(hao123)).click();//8-通过partialLink text定位
// webDriver.findElement(By.partialLinkText(新闻));
// webDriver.findElement(By.partialLinkText(hao));
// webDriver.findElement(By.partialLinkText(hao123));//注意以下两种定位方式的测试不能同时执行执行一个需要将另一个注释掉//通过定位找到input输入框的位置并使用sendKeys进行文本内容填充到输入框
// webDriver.findElement(By.id(kw)).sendKeys(李白);//通过定位找到新闻文本链接的位置并使用click进行跳转到新闻页面暂时无法解决关闭这个新开的新闻网页webDriver.findElement(By.linkText(新闻)).click();//等待5秒try {Thread.sleep(5000);} catch (InterruptedException e) {throw new RuntimeException(e);}//关闭资源关闭浏览器webDriver.close();}
} 感谢阅读祝君暴富