怎样用 Javascript 模拟点击按钮执行搜索?

JavaScript012

怎样用 Javascript 模拟点击按钮执行搜索?,第1张

1、使用js模拟,其实就是给按钮添加onclick命令,然后表单action写好跳转后台处理方法,数据发送方式,默认的发送命令是form.submit()。直接发送出去。

<form action="/fmpost" method="post" name="fm">

<button name="btn" onclick="fm.submit()"></button>

</form>

2、或者表单action不写跳转方法,直接在button的onclick上写好发送链接。

<form action="" method="post" name="fm" id="fm">

<button name="btn" onclick="document.getElementById('fm').action='/fmpost'document.getElementById('fm').submit()"></button></form>

按钮为<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是否发生变化,结果是在没有发生任何变化,这说明按钮没有被点击成功。(代码中粉色的部分是我获取按钮的方式)