selemium页面常见问题的处理

1.cookie登录

2.配置登录去除警告框


3.alert弹出框处理

1.

先定位触发弹出框的按钮并点击

driver.findElement(By.id("Demo")).click();

找到弹出框

Alert Demo = driver.switchTo().alert();

点击接受

Demo.accept();

点击取消

Demo.dismiss();

2.

先定位触发弹出框的按钮并点击

driver.findElement(By.id("Demo")).click();

找到弹出框

Alert Demo = driver.switchTo().alert();

输入内容

Demo.sendKeys("666");

点击接受

Demo.accept();

点击取消

Demo.dismiss();


4.JS处理

1.js去掉元素属性

 

先定位元素

 WebElement e=driver.findElement(By.id("readonlyTrue"));

调用js

 JavascriptExecutor js1=(JavascriptExecutor) driver;

Readonly是要移除的属性

 js1.executeScript("arguments[0].removeAttribute('readonly')", e);

 

2.js页面滑动3种方式

 

//页面滑动底部1000

String js = "var q=document.body.scrollTop=10000";

((JavascriptExecutor) driver).executeScript(js);

//页面滑动定部

String js = "document.documentElement.scrollTop=" + px;

((JavascriptExecutor) driver).executeScript(js);

WebElement webElement = driver.findElement(By.id("key"));

        //对象的顶端与当前窗口的顶部对齐

        ((JavascriptExecutor)driver).executeScript

("arguments[0].scrollIntoView();"webElement);

//对象的顶端与当前窗口的部对齐

  ((JavascriptExecutor)driver).executeScript

("arguments[0].scrollIntoView(false);"webElement);

 

        //对象的底端与当前窗口的顶部对齐 

 ((JavascriptExecutor)driver).executeScript

("arguments[0].scrollIntoView(false);"webElement);

5.Select下拉框

创建Select 对象,添加定位的下拉框

  Select ss = new Select(driver.findElement(By.id("test")));

通过索引定位下拉内容

        ss.selectByIndex(3);

通过文本定位下拉内容

        ss.selectByVisibleText("PYTHON");

通过value定位下拉内容

        ss.selectByValue("VBSCRIPT");

6.上传

1.对于上传按钮是input类型的直接定位按钮sendkey输入要上传的本地路径

driver.findElement(By.name("file")).sendKeys("C:\\Users\\Administrator\\Desktop\\图片\\3O5JYC74AA03.jpg");

2.不是input类型

首先创建剪切板setSystemClipboard




定位元素点击

调用剪切板

将要复制的内容存入剪切板

调用键盘

调用键盘按键

释放按键


7.操作日历控件

1.不带有只读属性readonlyinput直接定位sendkey

2.带有只读属性readonlyinput

定位到元素,通过js去掉只读属性在sendkey

8.切换窗口句柄