• Welcome to the world's largest Chinese hacker forum

    Welcome to the world's largest Chinese hacker forum, our forum registration is open! You can now register for technical communication with us, this is a free and open to the world of the BBS, we founded the purpose for the study of network security, please don't release business of black/grey, or on the BBS posts, to seek help hacker if violations, we will permanently frozen your IP and account, thank you for your cooperation. Hacker attack and defense cracking or network Security

    business please click here: Creation Security  From CNHACKTEAM

Recommended Posts

1.alert弹窗

警报弹窗是前端页面中常见的一种弹窗,会弹出一些需要用户确认的信息,只有用户点击确定或者取消才能关闭,硒中通过切换到()。警报()下的接受()确认和解散()取消就可以模拟用户实现点击。

前端警报弹窗代码:

!声明文档类型

超文本标记语言

meta charset='utf-8 '

标题警报弹窗/标题

脚本

函数myFunction(){

警报('弹出一个警告框');

}

/脚本

/头

身体

input type=' button ' onclick=' my function()' value='点击' /

/body

/html

后端代码警报弹窗模拟用户点击确认或者取消:

包com。测试。硒;

导入org。打开QA。硒。警惕;

导入org。打开QA。硒。由;

导入org。打开QA。硒。web驱动程序;

导入org。打开QA。硒。chrome。chrome驱动;

/**

*警报弹窗

*

*/

公开课应用

{

公共静态void main(String[] args)引发中断的异常{

系统。设置属性(' web驱动程序。chrome。bin ',' g :/chrome驱动。exe’);

web driver driver=新chrome驱动();

字符串URL=' g :/70元QZ/新建文件夹/1.18/013 alink。html ';

System.out.printf('访问链接:',网址);

driver.get(网址);

driver.manage().窗口()。最大化();

线程。睡眠(3000);

司机。查找元素(按。XPath('/html/body/input[@ type=' button ']').单击();

线程。睡眠(5000);

//获取警报弹窗对象

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

//点击确认按钮

//警报。接受();

//获取弹窗文本

系统。出去。println(警报。gettext());

//点击忽略或者取消

警惕。dissolve();

司机。quit();

System.out.println('执行结束');

}

}

2.confirm弹窗

确认弹窗点击后会有确认和取消两个选项,点击确认会出现确定的场景,点击取消会出现取消的场景。

前端确认代码:

!声明文档类型

超文本标记语言

meta charset='utf-8 '

标题确认弹窗/标题

/头

身体

p点击按钮,显示确认框100元/人

button id=' BTN ' onclick='我的函数()'点击/按钮

p id='demo'/p

脚本

函数myFunction(){

var r=confirm('按下按钮!');

if (r==true){

window.alert('你点击了确认按钮');

}

否则{

window.alert('你点击了取消按钮');

}

}

/脚本

/body

/html

后端代码警报弹窗模拟用户点击确认或者取消:

包com。测试。硒;

进口o

rg.openqa.selenium.Alert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; /** *alert弹窗 * */ public class App { public static void main( String[] args ) throws InterruptedException{ System.setProperty("webdriver.chrome.bin", "G:/chromedriver.exe"); WebDriver driver = new ChromeDriver(); String url = "G:/70yuanQZ/新建文件夹/1.18/013alink.html"; System.out.printf("访问链接:",url); driver.get(url); driver.manage().window().maximize(); Thread.sleep(3000); driver.findElement(By.id("btn")).click(); Thread.sleep(5000); //获取alert弹窗对象 Alert alert = driver.switchTo().alert(); //点击确认按钮 alert.accept(); Thread.sleep(5000); //获取弹窗文本 System.out.println(alert.getText()); //点击忽略或者取消 //alert.dismiss(); driver.quit(); System.out.println("执行结束"); } }

 

3.prompt提示弹窗

这种弹窗一般提示需要手动输入内容才能点击确认。比较前两个弹窗模拟,提示弹窗需要在使用到sendKeys() 方法,数据相关值,不然会报错。

前端代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>prompt弹窗</title>
</head>
<body>
<button id='btn' onclick="myFunction()">点击</button>
<p id="demo"></p>
<script>
function myFunction(){
    var x;
    var person=prompt("请输入你的名字","");
    if (person!=null && person!=""){
        x="你好,朋友!请称呼我:" + person ;
        document.getElementById("demo").innerHTML=x;
    }
}
</script>
</body>
</html>

后端实现代码:

package com.test.selenium;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
/**
 *prompt提示弹窗
 *
 */
public class App 
{
    public static void main( String[] args ) throws InterruptedException{
        System.setProperty("webdriver.chrome.bin", "G:/chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        String url = "G:/70yuanQZ/新建文件夹/1.18/013alink.html";
        System.out.printf("访问链接:",url);
        driver.get(url);
        driver.manage().window().maximize();
        Thread.sleep(3000);
        driver.findElement(By.id("btn")).click();
        Thread.sleep(5000);
        //获取alert弹窗对象
        Alert alert = driver.switchTo().alert();
        alert.sendKeys("大白");
        Thread.sleep(3000);
        //获取弹窗文本
        System.out.println(alert.getText());
        //点击确认按钮
        alert.accept();
        Thread.sleep(5000);
        //点击忽略或者取消
        //alert.dismiss();        
        driver.quit();
        System.out.println("执行结束");   
    }  
}

以上三种弹窗换汤不换药,总结起来就是应用switchTo().alert()下的相关方法,最常用的如下:

accept()   点击确认按钮

dismiss()  点击取消按钮,如果有的话

sendKeys()  输入值,这个 alert\confirm 没有对话框就不能用了,不然会报错

getText()  获取弹窗文本

wait(timeout)  设置超时时间

 

Link to comment
Share on other sites