selenium自动化测试操作自己遇到的问题

首先为了方便起见,我们需要设置一些路径
在这里插入图片描述
这里需注意:chrome和chromedriver的版本一定要对应
也可以使用System.setProperty(“webdriver.chrome.driver”, “.......”);(这个本人未尝试)

每进行一个操作需要设置反应时间
Thread.sleep(2000);
打开网址
driver.get();
查找元素
driver.findElement(By.xpath());
点击
driver.findElement(By.xpath()).click();
输入文字
driver.findElement(By.xpath()).sendKeys();

带有frame的页面
下切换frame时都需要返回默认再重新进入
driver.switchTo().defaultContent();
driver.switchTo().frame(“leftFrame”);
如果frame下面有frame则继续
driver.switchTo().frame();
切换frame时可不用设置反应时间

在自己打开百度的时候无法打开网站,但是其他的网站可以打开,通过请教老师,发现是因为自己的浏览器版本不对,所以一定要注意版本

输入回车键
driver.findElement(By.xpath()).sentKeys(Keys.ENTER);
注意注意
找xpath一定要找按钮的,而不是输入框的

涉及到弹出框,可参考selenium对弹出框的解决
如何只是要求手动解决
设置一下反应时长就OK了

返回上一页面
driver.navigate().back();
关闭当前页面
driver.close();

窗口最大化
driver.manage().window().maximize();

关于选框的内div还是外div需要不断的尝试

有时候分数不够一百分,可能是下拉框的选择方式不对,有时候点字,有时候点三角

2021-10-27更新
执行JS操作
JavascriptExecutor jsExecutor = (JavascriptExecutor) driver; jsExecutor.executeScript("document.getElementById('js_domestic_fromdate').value = '2021-10-30'");

开启的时候可以使用隐形等待
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS)
在选着有svg的时候,要用外层的div

窗口不变,网址要改变的时候,选着带href的

切换窗口

String homeHandle() = driver.getWindowHandle();
//这里要有一个click
Set<String> windowHandles = driver.getWindowHandles();
for(String handle : windHandles){
	if(!handle.equals(homeHandle)){
		driver.switchTo().window(handle);
		break;
	}
}

第二种写法

String page1=driver.getWindowHandle();
String page2=null;
Set<String> handles = driver.getWindowHandles();
for(String handle:handles){
	if(handle.equals(page1){
		continue;
	}
	page2=handle;
    break;
}
driver.switchTo().window(page2);
Set<String> usedHandles=driver.getWindowHandles();
String page3=null;
handles=driver.getWindowHandles();
	for(String handle:handles) {
    	if(usedHandles.contains(handle)) {
    		continue;
    	}
    	page3=handle;
    	break;
    }
   driver.switchTo().window(page3);
   usedHandles=driver.getWindowHandles();
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值