如何模拟点击网页上的一个javascript按钮

 我来答
EvenHHZ
2016-09-20 · 知道合伙人软件行家
EvenHHZ
知道合伙人软件行家
采纳数:13691 获赞数:18845
个人出版图书:《玩转Python网络爬虫》、《玩转Django2.0》

向TA提问 私信TA
展开全部
按钮为<input class="btn_wr s_btn_wr bg" type="submit" id="su" value="百度一下"></input>。
我的代码是如下的:

// JavaScript source code
var page = require('webpage').create();
var address = ' .baidu.com/';
var output = 'capture.jpeg';
page.open(address, function (status) {
if (status !== 'success') {
console.log('Unable to load address!');
} else
{
try
{
var url = page.url;
console.log('URL: ' + url);
page.evaluate(function () {
document.getElementById('kw').value = "translate";
document.getElementById('su').click();
});
url = page.url;
console.log('URL: ' + url);
window.setTimeout(function () {
page.render(output, { format: 'jpeg', quality: '100' });
phantom.exit();
}, 200);
} catch (err)
{
console.log(err);
}
}
});

注意我用橘黄色高亮的字体,我在点击按钮前后检测url是否发生变化,结果是在没有发生任何变化,这说明按钮没有被点击成功。(代码中粉色的部分是我获取按钮的方式)
韶飞轶事
2020-07-25
知道答主
回答量:1
采纳率:0%
帮助的人:589
展开全部

直接用chrome插件web-terminal就能轻松搞定

使用方法:

  1. 在任一网页连续按2次ctrl 打开web-terminal

  2. 输入: js `$('#kw').val("test");$('#su').trigger('click')` -u http://www.baidu.com 

    此处会自动打开百度网站,然后自动输入test搜索关键字,然后触发搜索点击按钮

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式