Selenium(二)执行js代码(篡改网页内容)

本文介绍如何使用Selenium WebDriver配合JavaScript操作网页元素,包括调用页面上的JS函数及直接执行JS来修改页面内容,例如改变下拉框选项或替换图片资源。

本示例所需jar包:

jdk1.8

selenium-3.5.0

FireFox 55.0.2

geckodriver-v0.19.0-win64.zip(FireFox驱动)

(上述版本一定要对应)

L%(4BUYCJHH[OU9%%M]PA95.png

1.执行网页中的js(也可以执行自己写的js代码)

public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.gecko.driver","E:\\Java\\geckodriver.exe");
System.setProperty("webdriver.firefox.bin", "D:\\Firefox\\firefox.exe");
WebDriver driver  = new FirefoxDriver();
    driver.get("http://127.0.0.1:8020/ajax/select.html");
   //调用网页中的js
    JavascriptExecutor js = (JavascriptExecutor) driver;
        js.executeScript("js()");
   driver.close();
}

网页源码

<script type="text/javascript">
$(function(){
document.getElementById('sl').value='yx'
});
function js(){
alert(document.getElementById('sl').options[document.getElementById('sl').selectedIndex].text);
alert(document.getElementsByTagName("img")[0].src);
}
</script>
</head>
<body>
<select id="sl">
<option value="">请选择</option>
<option value="bmj">张三</option>
<option value="lzd">李四</option>
<option value="yx">王五</option>
<option value="gy">赵六</option>
</select><br />
<button onclick="js()">select</button>
</body>

1.调用js篡改网页内容

public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.gecko.driver","E:\\Java\\geckodriver.exe");
System.setProperty("webdriver.firefox.bin", "D:\\Firefox\\firefox.exe");
WebDriver driver  = new FirefoxDriver();
    driver.get("http://www.baidu.com/");
   //调用js(篡改百度的log图片)
    JavascriptExecutor js = (JavascriptExecutor) driver;
        js.executeScript("document.getElementsByTagName('img')[0].src='http://img.mmjpg.com/2015/118/7.jpg'");
    //driver.close();
}


gaollg15.gif

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cpongo11

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值