从网上查到Python的urllib,urllib2可以模拟web的客户端操作。
下面是我想操作的一个页面部分代码(完整的看附件),请问怎样用 Python模拟点下按钮的操作。
谢谢,请赐教!(如果可能的话,请说的详细一点,本人比较菜)
index.jsp
...
...
...
...
...
...
URL jmxURLPrefix = new URL(jmxBase, "invoke?operation=build&objectname=CruiseControl+Project%3Aname%3D");
...
...
...
<br>
function callServer(url, projectName) {<br>
document.getElementById('serverData').innerHTML = '<iframe src="' + url + '" width="0" height="0" frameborder="0"></iframe>';<br>
alert('Scheduling build for ' + projectName);<br>
}</p>
<pre><code>function checkIframe(stylesheetURL) {
if (top != self) {//We are being framed!
//For Internet Explorer
if (document.createStyleSheet) {
document.createStyleSheet(stylesheetURL);
}
else { //Non-ie browsers
var styles = "@import url('" + stylesheetURL + "');";
var newSS = document.createElement('link');
newSS.rel = 'stylesheet';
newSS.href = 'data:text/css,' + escape(styles);
document.getElementsByTagName("head")[0].appendChild(newSS);
}
}
}
</code></pre>
<p>
...
...
...
...
...
...
[b]问题补充:[/b]
首先感谢RyanPoy回答。
我在网上察看的urllib和urllib2的时候,
所给出的例子都是提交表单的,而我这个jsp中则是个iframe(?),所以就有些不明白了。
这里是像服务器提交一个网址吗?
比如我这个jsp的实际URL为http://192.168.15.72:8080/,
我用urllib.urlopen('http://192.168.15.72:8080/').readlines()
打开URL,然后呢?怎样处理那个iframe呢?
[b]问题补充:[/b]
我当然知道urllib的基本应用,
我最想知道的是怎样模拟点下按钮的操作。
我想既然点下了按钮,那时不是向服务器发送了什莫请求。
然后服务器处理请求,实现我点下按钮的效果。
看这个jsp,点下按钮他会调用callServer函数,
而callServer函数有效的命令只有:
document.getElementById('serverData').innerHTML = '';
他好像是让隐藏的div(
我想知道怎样用程序实现向服务器发送这个请求?
[b]问题补充:[/b]
不用urllib也行,只要能实现,用什莫都行!
[b]问题补充:[/b]
我再想办法把。
本来我是想通过python直接操作http的。。。
还有一个不太好的方法,就是通过操作IE或firefox等浏览器来达到点击按钮的目的,如果有空的话可以看看Selenium IDE或Selenium RC,这是个自动测试工具。可以录制操作浏览器的动作,然后回放。
总之,谢谢你的回答。