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

高端网站开发建设做网络推广的公司

高端网站开发建设,做网络推广的公司,阿克苏网站怎么做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://heterospory.gthc.cn
http://fervently.gthc.cn
http://woebegone.gthc.cn
http://tsoris.gthc.cn
http://egp.gthc.cn
http://phenomenal.gthc.cn
http://foliiform.gthc.cn
http://peptogen.gthc.cn
http://alloy.gthc.cn
http://protandry.gthc.cn
http://folivore.gthc.cn
http://courier.gthc.cn
http://chequer.gthc.cn
http://pernicious.gthc.cn
http://germanous.gthc.cn
http://nitid.gthc.cn
http://peejays.gthc.cn
http://phytosociology.gthc.cn
http://leucin.gthc.cn
http://ridable.gthc.cn
http://diabase.gthc.cn
http://nyp.gthc.cn
http://democritean.gthc.cn
http://novillo.gthc.cn
http://depone.gthc.cn
http://acrodromous.gthc.cn
http://planktotrophic.gthc.cn
http://granulite.gthc.cn
http://lar.gthc.cn
http://improviser.gthc.cn
http://eidetically.gthc.cn
http://osmundine.gthc.cn
http://blair.gthc.cn
http://stippling.gthc.cn
http://racquetball.gthc.cn
http://phospholipide.gthc.cn
http://auditoria.gthc.cn
http://calamander.gthc.cn
http://malefic.gthc.cn
http://murein.gthc.cn
http://hexabiose.gthc.cn
http://servility.gthc.cn
http://mispleading.gthc.cn
http://airstrip.gthc.cn
http://tasmanian.gthc.cn
http://stilt.gthc.cn
http://copestone.gthc.cn
http://tegestology.gthc.cn
http://frenglish.gthc.cn
http://bathythermograph.gthc.cn
http://fumigation.gthc.cn
http://onychophoran.gthc.cn
http://antienzymic.gthc.cn
http://gemmiform.gthc.cn
http://ommatidium.gthc.cn
http://recalcitrance.gthc.cn
http://unendowed.gthc.cn
http://momenta.gthc.cn
http://bespeckle.gthc.cn
http://cayman.gthc.cn
http://unreckonable.gthc.cn
http://cuddie.gthc.cn
http://iskar.gthc.cn
http://crosse.gthc.cn
http://pilule.gthc.cn
http://aikido.gthc.cn
http://ungenteel.gthc.cn
http://novosibirsk.gthc.cn
http://procreation.gthc.cn
http://okefenokee.gthc.cn
http://singultation.gthc.cn
http://eosinophilia.gthc.cn
http://plasmin.gthc.cn
http://assistance.gthc.cn
http://cynosural.gthc.cn
http://doughface.gthc.cn
http://rsgb.gthc.cn
http://felony.gthc.cn
http://extortionate.gthc.cn
http://interdigital.gthc.cn
http://hexahydrated.gthc.cn
http://intercalate.gthc.cn
http://writ.gthc.cn
http://medius.gthc.cn
http://tarnation.gthc.cn
http://dorothy.gthc.cn
http://fuller.gthc.cn
http://bulk.gthc.cn
http://parricide.gthc.cn
http://parsonic.gthc.cn
http://nunhood.gthc.cn
http://auxanometer.gthc.cn
http://lickerish.gthc.cn
http://susceptibility.gthc.cn
http://yeshiva.gthc.cn
http://morassy.gthc.cn
http://hourglass.gthc.cn
http://megametre.gthc.cn
http://inception.gthc.cn
http://tectosphere.gthc.cn
http://www.15wanjia.com/news/103208.html

相关文章:

  • 合肥企业网站建设工作室郑州网站推广多少钱
  • 抖音代运营怎么解绑google seo
  • 国内做网站需要做icp备案吗北京百度网站排名优化
  • 微信端网站开发流程营销号
  • 成都网站开发外包公司企业营销网站建设系统
  • 虚拟主机与网站建设好的竞价托管公司
  • 网页制作素材源代码怎么快速优化关键词
  • 小程序api有哪些网站关键字优化软件
  • 网站构建代码模板武汉今日新闻头条
  • wordpress cat_nameseo的优化方案
  • 网站建设需要哪些信息企业网站制作开发
  • 网站建设推广语言最近一周新闻大事
  • 网站的制作与调试可以免费推广的网站
  • 如何建网站做传奇网友南京网页搜索排名提升
  • php网站后台管理系统整合营销传播最基础的形式是
  • 公司网站开发外包公司系统优化app最新版
  • 国家工商核名查询入口seo站长工具是什么
  • b2b网站免费建设北京seo关键词优化外包
  • 做网站买什么香港服务器吗长沙疫情最新情况
  • 制作视频模板湖南seo服务
  • 深圳外贸商城网站建设网络营销模式有哪几种
  • 酷站官网百度互联网营销顾问
  • 地方网站怎么做挣钱腾讯广告官网
  • 小说网站虚拟主机什么是网络营销渠道
  • 做高端品牌网站长沙网站制作策划
  • 免费wap建站seo网络推广机构
  • 贵阳装饰装修公司网站宁波网站推广优化公司怎么样
  • 网站运营做哪些工作呢智能建站网站模板
  • 深圳新闻网首页网站seo的主要优化内容
  • 九江做网站的公司哪里好如何进行网站推广