您的位置:首页 > 房产 > 家装 > 医疗器械有哪些产品_公众号菜单跳转的网页怎么制作_比较好的搜索引擎_品牌推广内容

医疗器械有哪些产品_公众号菜单跳转的网页怎么制作_比较好的搜索引擎_品牌推广内容

2025/4/23 11:37:59 来源:https://blog.csdn.net/GGBond778/article/details/146506124  浏览:    关键词:医疗器械有哪些产品_公众号菜单跳转的网页怎么制作_比较好的搜索引擎_品牌推广内容
医疗器械有哪些产品_公众号菜单跳转的网页怎么制作_比较好的搜索引擎_品牌推广内容

前言

🌟🌟本期讲解关于自动化测试函数相关知识介绍~~~

🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客

🔥 你的点赞就是小编不断更新的最大动力                                       

🎆那么废话不多说直接开整吧~~

目录

📚️1.操作选择元素

🚀1.1点击提交

🚀1.2模拟输入

🚀1.3清除内容

🚀1.4 获取文本信息

🚀1.5获取标题,URL

📚️2.窗口的操作

🚀2.1句柄的操作

🚀2.2窗口的调整

🚀2.3关闭窗口

📚️3.等待

🚀3.1强制等待

🚀3.2隐式等待

🚀3.3显示等待

📚️4.浏览器导航

🚀4.1打开网站

🚀4.2浏览器的前进后退域刷新

📚️5.弹窗

📚️6.文件上传

📚️7.浏览器参数设置

🚀7.1无头模式设置

🚀7.2浏览器加载策略

📚️8.总结

——前言:本期小编主要是进行代码的演示,以及对应代码是作用于什么功能来进行操作,小编可能在解释上比较少,主要是一些内置方法的调用~~~(选择器主要是使用cssSelector

📚️1.操作选择元素

🚀1.1点击提交

此时我们在浏览器进行选择点击元素后,可以使用一下代码进行模拟点击的操作:

driver.findElement(By.cssSelector("#su")).click();

这里使用click进行点击事件模拟;

🚀1.2模拟输入

代码如下:

  driver.findElement(By.cssSelector("#kw")).sendKeys("雷霆万钧");

 这里使用sendKeys进行输入事件模拟;

🚀1.3清除内容

代码如下:

driver.findElement(By.cssSelector("#kw")).sendKeys("我爱游戏");
driver.findElement(By.cssSelector("#kw")).clear();
driver.findElement(By.cssSelector("#kw")).sendKeys("我爱学习");

这里使用clear进行清除输入框的事件模拟;

🚀1.4 获取文本信息

代码如下:

 System.out.println(driver.findElement(By.cssSelector("#hotsearch-content-wrapper > li:nth-child(1)")).getText());

这里使用getText进行获取文本的操作;

当然如果这里的元素是一个属性那么就要使用:getAttribute("属性名称")进行获取属性的操作;

🚀1.5获取标题,URL

 代码如下:

void getUrlAndTitle(){createDriver();System.out.println(driver.getCurrentUrl());System.out.println(driver.getTitle());driver.quit();}

获取这里的URL是getCurrentUrl,然后获取标题为getTitle;

📚️2.窗口的操作

🚀2.1句柄的操作

提示:在每个页面都有一个drive对应的句柄,如果跳转另一个页面后(打开了两个页面),那么就要操作句柄的转换;

 //句柄的操作void getHandle(){//这里要点击进入另一个页面createDriver();driver.findElement(By.cssSelector("#hotsearch-content-wrapper > li:nth-child(1) > a")).click();//此时进入了另一个页面,更换driver句柄//获取当前句柄String concurrentDriver = driver.getWindowHandle();//获取所有页面句柄Set<String> allDrivers = driver.getWindowHandles();for(String handle : allDrivers){if(handle != concurrentDriver){driver.switchTo().window(handle);}}

注意:我们要获取当前页面的drive句柄,然后再次获取全部页面的句柄;最后如果过当前页面不为之前获取的页面,那么就要使用if语句进行句柄的转换;

🚀2.2窗口的调整

代码如下:

void changeWindow() throws InterruptedException {createDriver();driver.manage().window().minimize();Thread.sleep(3000);driver.manage().window().maximize();Thread.sleep(3000);//全屏窗⼝driver.manage().window().fullscreen();Thread.sleep(3000);//⼿动设置窗⼝⼤⼩driver.manage().window().setSize(new Dimension(1024,768));driver.quit();}

解释:第一个minize即最小化,然后就是最大化,全屏,最后规定尺寸大小;

3.3屏幕截图

我们这里首先要进行依赖的引入:

        <dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.6</version></dependency>

代码如下:

File file = ((TakesScreenshot)webDriver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(file,new File(filename));

 注意:copyFile中第一个file是我们截图的文件,然后后面就是我们保存文件的路径;

🚀2.3关闭窗口

代码如下:

driver.close();

但是如果存在两个close,关闭两个页面,那么注意:将这里的driver转化,close会将对应的句柄进行释放,所以必须进行句柄修改;

📚️3.等待

🚀3.1强制等待

代码如下:

Thread.sleep(1000);

这里的1000指的就是1000ms,那么所以就是直接强制等待1s;(等待的主要的作用就是在等待渲染,防止在查找元素时,元素本来存在,但是由于没有渲染出来,导致找不到元素) 

🚀3.2隐式等待

隐式等待是⼀种智能等待,他可以规定在查找元素时,在指定时间内不断查找元素。如果找到则代码继续执⾏,直到超时没找到元素才会报错。
implicitlyWait() 参数:Duration类中提供的毫秒、秒、分钟等⽅法

代码如下:

driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(2));

注意:隐式等待的作用域是全局中;

🚀3.3显示等待

显⽰等待也是⼀种智能等待,在指定超时时间范围内只要满⾜操作的条件就会继续执⾏后续代码

代码如下:

new WebDriverWait(driver, Duration.ofSeconds(3)).until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("#\\31  > div > div > div > div > div > div.header-wrapper_3m6nI > div.cos-row.row-text_1L24W.row_4WY55 > div > div > div.cos-flex.cos-items-center > div.title-wrapper_XLSiK > a > div > p > span > span")));

 注意:

• elementToBeClickable(By locator) ‒ ⽤于检查元素的期望是可⻅的并已启⽤,以便您 
可以单击它。 
• textToBe(Bylocator,String str) - 检查元素。 
• presenceOfElementLocated(Bylocator) ‒ 检查⻚⾯的 DOM 上是否存在元素。 
• urlToBe(java.lang.String url) ‒ 检查当前⻚⾯的 URL 是⼀个特定的 URL;

当然这里还有其他的方法~~~

📚️4.浏览器导航

🚀4.1打开网站

代码如下:

driver.navigate().to("https://selenium.dev");driver.get("https://selenium.dev");

注意:这两种方法都是打开网站的操作,没有什么区别;

🚀4.2浏览器的前进后退域刷新

代码如下所示:

driver.navigate().back();
driver.navigate().forward();
driver.navigate().refresh();

 对应的就是上述的按键;

📚️5.弹窗

具体的代码如下所示:

Alert alert = driver.switchTo.alert();
//输入内容
alert.sendKeys("");
//确认
alert.accept();
//取消
alert.dismiss();

大致就是:点击进入弹框过后,出现了输入框,通过sendKey进行输入;

然后accept进行确认,然后dismiss进行取消;

📚️6.文件上传

点击⽂件上传的场景下会弹窗系统窗⼝,进⾏⽂件的选择。selenium⽆法识别⾮web的控件,上传⽂件窗⼝为系统⾃带,⽆法识别窗⼝元素但是可以使⽤sendkeys来上传指定路径的⽂件,达到的效果是⼀样的

文件上传代码如下所示:

WebElement ele = driver.findElement(By.cssSelector("body > div > div > 
input[type=file]"));
2 ele.sendKeys("D:\\selenium2html\\selenium2html\\upload.html");

📚️7.浏览器参数设置

🚀7.1无头模式设置

一般来说,我们启动浏览器后,直接就是可见式的看见浏览器的启动,但是设置无头模式后,直接在后台运行,就不用盯着浏览器看了;

代码如下所示:

        WebDriverManager.chromedriver().setup();ChromeOptions options = new ChromeOptions();options.addArguments("--remote-allow-origins=*");//设置无头模式options.addArguments("-headless");WebDriver driver = new ChromeDriver(options);

  options.addArguments("--remote-allow-origins=*");设置网址访问权限;
  options.addArguments("-headless");设置无头模式;

🚀7.2浏览器加载策略

代码如下所示:

 void changePage(){WebDriverManager.chromedriver().setup();ChromeOptions options = new ChromeOptions();options.addArguments("--remote-allow-origins=*");//options.setPageLoadStrategy(PageLoadStrategy.NORMAL);//options.setPageLoadStrategy(PageLoadStrategy.NONE);//options.setPageLoadStrategy(PageLoadStrategy.EAGER);WebDriver driver = new ChromeDriver(options);driver.get("https://www.baidu.com/");driver.quit();}

options.setPageLoadStrategy(PageLoadStrategy.NORMAL):即默认加载,即全部数据进行加载;

options.setPageLoadStrategy(PageLoadStrategy.NONE):DOM访问已准备就绪,但是图像资源可能还在加载;

options.setPageLoadStrategy(PageLoadStrategy.EAGER):完全不会阻塞webdriver;会导致什么资源都没加载出来;

📚️8.总结

本期小编主要讲解了关于自动化测试的函数,涉及到操作元素,窗口的操作,等待,浏览器导航,弹窗操作,文件上传以及浏览器参数设置;

🌅🌅🌅~~~~最后希望与诸君共勉,共同进步!!!


💪💪💪以上就是本期内容了, 感兴趣的话,就关注小编吧。

       😊😊  期待你的关注~~~

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com