当前位置: 首页 > news >正文

应用之星 wordpressseo的工作内容

应用之星 wordpress,seo的工作内容,wordpress 大片网,外贸流程有哪些selenium的前置准备工作可以参考我之前的博客:Java测试——selenium的安装与使用教程 这篇博客讲解一下selenium的常见操作 先创建driver ChromeDriver driver new ChromeDriver();输入网址 driver.get("https://www.baidu.com");常见操作 查找元素…

selenium的前置准备工作可以参考我之前的博客:Java测试——selenium的安装与使用教程

这篇博客讲解一下selenium的常见操作

先创建driver

ChromeDriver driver = new ChromeDriver();

输入网址

driver.get("https://www.baidu.com");

常见操作

查找元素

我们可以通过下面这个方法查找页面的一个元素

driver.findElement(By.cssSelector(""))

该方法返回一个WebElement元素

例如,我们查找百度的搜索框

WebElement element = driver.findElement(By.cssSelector("#kw"));

也可以通过下面这个方法查找页面中多个元素

findElements()

输入文本

通过对WebElement元素调用下面这个方法来输入文本

sendKeys();

例如,我们在搜索框中输入蔡徐坤

driver.findElement(By.cssSelector("#kw")).sendKeys("蔡徐坤");

点击click

我们可以通过对WebElement元素调用下面这个方法来实现在网站中点击该元素

click();

例如我们点击百度中的百度一下按钮

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

提交submit

我们可以通过对WebElement元素调用下面这个方法来实现提交该表单元素

submit();

例如我们提交百度一下的表单

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

清除clear

我们可以通过对WebElement元素调用该方法,来实现清除之前的输入

clear();

例如,我们可以清除之前在输入框中的输入

driver.findElement(By.cssSelector("#kw")).clear();

获取文本

我们可以对WebElement元素调用该方法,获取元素中的文本,最终返回一个字符串

getText();

例如获取下面这个热搜中的文本,将其打印在控制台上
在这里插入图片描述

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

获取属性

而如果我们尝试获取百度一下按钮中的文字,会发现无法获取到文字,这是因为百度一下是value这个键对应的值,我们可以通过调用下面这个方法,实现获取WebElement元素相应的键对应的值,其结果为字符串

getAttribute();

例如,我们可以获取输入框的相关键对应的值

System.out.println(driver.findElement(By.cssSelector("#su")).getAttribute("value"));
System.out.println(driver.findElement(By.cssSelector("#su")).getAttribute("id"));
System.out.println(driver.findElement(By.cssSelector("#su")).getAttribute("class"));
System.out.println(driver.findElement(By.cssSelector("#su")).getAttribute("type"))

获取页面标题

这里的“百度一下,你就知道”,就是我们当前页面的标题
在这里插入图片描述

我们可以通过下面这个方法来获取当前页面的标题,其结果返回一个字符串

getTitle();

例如我们将该页面标题打印到控制台上

System.out.println(driver.getTitle())

获取页面url

这里的内容,就是当前页面的url
在这里插入图片描述
我们通过下面这个方法来获取当前页面的url,其结果返回一个字符串

System.out.println(driver.getCurrentUrl())

窗口

调整窗口大小

将窗口最大化

driver.manage().window().maximize();

将窗口最小化

driver.manage().window().minimize();

将窗口全屏显示

driver.manage().window().fullscreen();

手动设置窗口大小(第一个元素是宽度,第二个元素是高度)

driver.manage().window().setSize(new Dimension(1024,2048));

窗口的切换

如果我们使用自动化程序,点击“图片”超链接,进入到百度图片的页面,然后获取百度一下按钮,就会发现结果报错了
在这里插入图片描述

在这里插入图片描述
具体实现代码如下:

driver.get("https://www.baidu.com");
driver.findElement(By.cssSelector("#s-top-left > a:nth-child(6)")).click();
driver.findElement(By.cssSelector("#homeSearchForm > span.s_btn_wr > input"));
driver.quit();

最终程序报错,没有找到“百度一下”按钮
在这里插入图片描述

通过回顾刚才的图片可以看到,我们这时开了两个窗口,而自动化程序现在操作的还是第一个窗口,因此访问不到百度图片的“百度一下”

事实上,每打开一个标签页,浏览器就会自动给标签页一个标识:句柄

我们可以通过下面这个方法获取所有界面的句柄,其结果为Set< String >

getWindowHandles();

也可以只获取当前页面的句柄打印出来

System.out.println(driver.getWindowHandle());

我们可以通过下面这个操作来获取所有页面的句柄,将他们打印出来

Set<String> handles = driver.getWindowHandles();
for (String handle:handles) {System.out.println(handle);
}

可以使用下面这个方法,传输一个句柄,来切换页面

driver.switchTo().window(handle);

屏幕截图

如果我们自动化实现在百度中搜索蔡徐坤,并且点击下图中这个名字
在这里插入图片描述
具体代码如下

driver.get("https://www.baidu.com");
driver.findElement(By.cssSelector("#kw")).sendKeys("蔡徐坤");
driver.findElement(By.cssSelector("#su")).click();
driver.findElement(By.cssSelector("#\\31  > div > div > div > div > div.cos-row.row-text_Johh7.row_5y9Az > div > a > div > p > span > span"));
driver.quit();

最终会发现代码报错,没有找到该元素
在这里插入图片描述
我们可以使用屏幕截图,看一下当前页面是什么样子

使用下面的方法,可以将当前界面截屏为java中的file对象

getScreenshotAs(OutputType.FILE);

我们可以将file对象拷贝为已有的文件,实现将屏幕截图放到指定路径下的操作

首先导入依赖

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

使用下面这个代码,可以实现拷贝文件操作

FileUtils.copyFile(源文件, 目标文件);

完整代码如下:

driver.get("https://www.baidu.com");
driver.findElement(By.cssSelector("#kw")).sendKeys("蔡徐坤");
driver.findElement(By.cssSelector("#su")).click();File srcFile = driver.getScreenshotAs(OutputType.FILE);
//将屏幕截图放到指定路径下
String filename = "my.png";
FileUtils.copyFile(srcFile, new File(filename));driver.findElement(By.cssSelector("#\\31  > div > div > div > div > div.cos-row.row-text_Johh7.row_5y9Az > div > a > div > p > span > span"));
driver.quit();

加上上述代码,我们看一下浏览器当前的样子
在这里插入图片描述
可以发现,浏览器还没有渲染完毕,我们的代码就开始执行查找元素了,因此会发生找不到的情况

因此,我们只需要加上休眠时间,让浏览器有时间渲染即可

让浏览器休眠3秒

Thread.sleep(3000);

可以看到,这时渲染的画面是正常的
在这里插入图片描述

http://www.hkea.cn/news/493814/

相关文章:

  • 衡水网站制作公司自媒体软文发布平台
  • 东莞圆心科技网站开发网页搜索
  • 日照网站建设价格百度推广怎么优化关键词的质量
  • 竭诚网络网站建设开发百度搜索竞价推广
  • 浙江住房和城乡建设厅报名网站下拉关键词排名
  • 银川哪里做网站百度网址名称是什么
  • 合肥公司网站建设价格低西安网络科技公司排名
  • 怎么样建设个人网站企业文化建设
  • 如何知道网站有没有备案成都seo公司
  • wordpress 艺术主题南京网络优化公司有哪些
  • 贵阳网站备案百度网站优化方案
  • 单位网站建设论文怎么做竞价托管
  • 建筑公司网站有哪些谈谈自己对市场营销的理解
  • 做ppt音乐怎么下载网站企业培训课程有哪些
  • magento网站建设网站优化排名软件网站
  • 做生鲜食品最好的网站网络推广及销售
  • 销售管理系统需求分析长沙seo代理
  • 站长网站查询深圳百度关键字优化
  • 用net语言做网站平台好不好企业培训师资格证报考2022
  • 成都定制网站设竞价推广遇到恶意点击怎么办
  • 制作视频网站建设友链交易网
  • 做外贸是不是要有网站腾讯企点app下载安装
  • 网站开发快递文件国外网站怎么推广
  • 网站和搜索引擎站长论坛
  • 做违法网站会怎样外贸独立站怎么建站
  • 云主机建网站教程深圳全网推互联科技有限公司
  • 做网站赚50万谷歌搜索引擎363入口
  • 台州网站设计外包网页制作公司排名
  • 网站建设投标文件范本亚马逊提升关键词排名的方法
  • 学做网站需要多长时间免费推广平台排行