public class chrometest {
public static void main(String[] args) throws InterruptedException { String chromepath="path"; System.setProperty("webdriver.chrome.driver", chromepath); //初始化一个chrome浏览器实例,实例名称叫driver
WebDriver driver = new ChromeDriver(); //最大化窗口
driver.manage().window().maximize(); //get()打开一个站点
driver.get("https://music.163.com/"); //切换到第二个tab-li[2]
WebElement tagele1 = driver.findElement(By.xpath("//*[@id=\"g_nav2\"]/div/ul/li[2]/a")); tagele1.click();
//切换iframe
WebElement frame = driver.findElement(By.xpath("//*[@id=\"g_iframe\"]")); driver.switchTo().frame(frame); //点击播放按钮
WebElement play_button = driver.findElement(By.xpath("//*[@id=\"toplist\"]/div[2]/div/div[1]/div/div[2]/div/div[3]/a[1]")); play_button.click(); //打印当前url
System.out.println("当前.....打开页面是: "+ driver.getCurrentUrl()); //切换
//----------------------
driver.switchTo().defaultContent();
//---------------------- Thread.sleep(3000); WebElement tagele0 = driver.findElement(By.xpath("//*[@id=\"g_nav2\"]/div/ul/li[1]/a")); tagele0.click(); System.out.println("当前.....打开页面是: "+ driver.getCurrentUrl()); Thread.sleep(3000); Actions action = new Actions(driver);
action.moveToElement(driver.findElement(By.xpath("//*[@class=\"link s-fc3\"]"))).perform();
Thread.sleep(3000);
WebElement ele2 = driver.findElement(By.xpath("//*[em=\"QQ登录\"]"));
ele2.click();
Thread.sleep(3000);
//----------------------
String title = "安全登录";
String s = null; Set<String> handles = driver.getWindowHandles(); for (String t : handles) { System.out.println("switchWindow: "+t);
if (driver.switchTo().window(t).getTitle().contains(title)) {
s = t;
}
}
driver.switchTo().window(s);
System.out.println("target_window_handler:"+s); WebElement qframe = driver.findElement(By.xpath("//*[@id=\"ptlogin_iframe\"]")); driver.switchTo().frame(qframe); //点击意见反馈
WebElement qplay_button = driver.findElement(By.xpath("//*[@id=\"feedback_qlogin\"]")); qplay_button.click(); Thread.sleep(8000);
System.out.println("当前.....打开页面是: "+ driver.getCurrentUrl()); driver.quit();
}
}

  

Java-selenium的更多相关文章

  1. java selenium (五) 元素定位大全

    页面元素定位是自动化中最重要的事情, selenium Webdriver 提供了很多种元素定位的方法.  测试人员应该熟练掌握各种定位方法. 使用最简单,最稳定的定位方法. 阅读目录 自动化测试步骤 ...

  2. java+Selenium+TestNg搭建自动化测试架构(1)实现代码和数据的分离

    1.主要介绍介绍Java+Selenium+POM的自动化测试框架的搭建,第一个首先实现代码和账号URL等信息的分离.第二点支持跨浏览器,通过读取配置文件的方式实现. 1)将账号URL等信息添加在pr ...

  3. Electorn(桌面应用)自动化测试之Java+selenium实战例子

    基于electorn的桌面应用,网上相关资料较少.所有记录一下.使用java+selenium+testng对该类型应用的自动化测试方法. 代码样例 package com.contract.web. ...

  4. 【java+selenium】网易云音乐刷累计听歌数

    背景应该是在去年的时候,刷知乎看到一个问题,大概是说怎么刷网易云音乐个人累计听歌数,然后有一个高赞回答,贴了一段js代码,直接在浏览器console执行就可以了.当时试了下,直接一下子刷了有好几万.悲 ...

  5. java+selenium的helloworld

    在学校上测试课程,接触到自动化管理工具,在加上助教工作需要改作业,所以想着学下selenium这一强大的web自动化工具. 1.lenium官网:http://www.seleniumhq.org/  ...

  6. java+selenium自动化实践

    git+java+selenium+testng +maven+idea 1.git之代码维护(下载.分支切换.上传) 下载命令 "git clone git@github.com:Luna ...

  7. java selenium webdriver处理JS操作窗口滚动条

    未经作者允许,禁止转载!!! java selenium webdriver处理JS操作窗口滚动条 java selenium webdriver处理JS操作窗口滚动条 import org.open ...

  8. Java+Selenium 3.x 实现Web自动化 - 1.自动化准备

    (一)自动化准备 说明:本文主要记录了基于公司现有项目(一个电子商务平台),从0开始实现UI自动化的历程.从准备阶段,部分内容直接省略了基础知识,一切以最终做成自动化项目为目标,难免会有晦涩之处.文章 ...

  9. Java+selenium自动化测试基础

    Java+selenium maven配置 maven的配置,但还需要建立maven的本地库,修改apach-maven的setting.xml http://www.cnblogs.com/haoa ...

  10. Java+selenium+Firefox/ IE/ Chrome主流浏览器自动化环境搭建

    一.java+selenium+firefox 1.环境准备:JDK1.8 2.安装firefox浏览器v59 3.下载驱动:https://github.com/mozilla/geckodrive ...

随机推荐

  1. webpack4.0入门总结

    1. 安装webpack: // 初始化.安装webpack以及webpack-clinpm init npm install --save-dev webpack webpack-cli 2.创建配 ...

  2. WPF实现放大镜

    这是一个之前遗留的问题.wpf里面有很多很多的东西,我以前用的真的只是其中很小的一个角落都不到. 需求背景:图片来源于相机拍摄,由于对像素要求,拍出来的图像素比较高,原图尺寸为30722048,以目前 ...

  3. spark运行java-jar:Exception in thread "main" java.io.IOException: No FileSystem for scheme: hdfs

    今天碰到的一个 spark问题,困扰好久才解决 首先我的spark集群部署使用的部署包是官方提供的 spark-1.0.2-bin-hadoop2.tgz 部署在hadoop集群上. 在运行java ...

  4. ARM、X86和AI处理器的区别

    ARM.X86和AI处理器的区别 目前主要的处理器架构有: X86: Intel, AMD, 海光, 兆芯 ARM: 华为,飞腾,华芯通,Cavium,Ampere,富士通,亚马逊 POWER:IBM ...

  5. git 的基本使用命令

    1,git 的作用:git是目前世界上最先进的分布式版本控制系统(没有之一) 用在版本控制  和  代码整合 2,git 配置: 1,git init  初始化文件,会在自己的文件夹下创建一个.git ...

  6. Nexus 离线更新中央仓库索引

    nexus可以在线更新中央仓库索引,但是更新速度慢,而且很有可能下载的索引不全.下面介绍一种离线更新中央仓库索引的方式,速度快并且可靠. 1.访问http://repo.maven.apache.or ...

  7. Linux 编译与交叉编译

    在Linux环境中,所处平台不同,执行文件也就不同,同一执行文件不能在不同平台下使用 如在Ubnutu下 是用gcc编译一个.c文件 gcc main.c -o main.out -o 可以指定输出文 ...

  8. 好看的原生UI

    我前端可以说是0基础,作显示页面的时候自己设置各种CSS一是麻烦,二是难看,所以找UI组件, 比较流行的组件如ELEMENT之类都需要安装或者依赖其他框架如VUE,为了省事,决定使用原生UI组件, 本 ...

  9. IDEA上tomcat的配置

    IDEA上tomcat的配置   IDEA上集成自己的tomcat,主要就是下面这张表的配置,不累述.

  10. 超简单让.NET Core开发者快速拥有CI/CD的能力-Docker版本

    超简单让.NET Core开发者快速拥有CI/CD的能力-Docker版本 前言 上一篇自动化测试,全面且详细的介绍了从零开始到发布版本的步骤,这是传统的方式,本次为大家带来的是如何在5分钟内使用上d ...