firefox中如何操作table对象?【已解决】
本帖最后由 ysping 于 2016-8-18 10:12 编辑firefox中如何点击以下网页右上角“近200期”数据,请大神不吝赐教。
http://chart.ydniu.com/trend/k3bj/
注:不是下面的图片,编辑帖子不能去掉下面的图片。 JavaScript应该简单完成 回复 2# heroxianf
不会JS啊!能给个例子吗? 回复 3# ysping
贴出地址让大家试一下,一张图片不好调试,还是内嵌 frame。 回复 4# nmgwddj
是内部的地址 回复 4# nmgwddj
你可以以这个帖子中的网页调试一下吗?谢谢!firefox浏览器。
http://www.autoitx.com/thread-53019-1-1.html 回复 6# ysping
以下的 document 在 au3 中用就是 $oIE.document.**。
// 得到所有页面中的 table,如果 table 有 class 或 id,则根据 class 或 id 获取,ById、ByClassName
document.getElementsByTagName('table');
document.getElementsById('tableId'); 对应 au3 中 _IEGetObjById 函数
document.getElementsByClassName('tableClassName');
// 得到的 table 对象用一个变量存储起来,调用 table 的 childNodes 属性可以得到 table 下的所有子元素
<thead>
<tbody>
<tfoot>
使用 for in 遍历 $table.childNodes 返回的对象,判断哪个对象的标签名为 tbody,如果是则保存到一个变量中。
// 调用上面保存到变量中 tbody 对象的 childNodes 方法得到一个所有<td>的列表,同样使用 for in 遍历,遍历时判断 <td> 的 name 属性是否等于 System Monitoring,如果找到则调用该节点的 click() 方法即可点击。
$child.getAttribute('name'); 得到某个标签的 name 属性值
下面这个例子虽然操作的不是 table,但是逻辑是一模一样的,会调用的函数也就这么几个。足够参考,细心琢磨:http://www.autoitx.com/forum.php?mod=redirect&goto=findpost&ptid=53019&pid=658604&fromuid=7628642 回复 7# nmgwddj
你这是IE浏览器,IE中我知道怎么操作。
因为某些环境只能用firefox,我想知道firefox中怎么操作?试了很多方法都不行。 你的这个方法在firefox也可以吗?我先试试吧! 回复 8# ysping
这些对 DOM 的操作是所有浏览器都一样的,只不过在 IE 中你用 _IE 系列函数得到浏览器对象,在 Firefox 中你用 _FF 系列函数得到浏览器对象,其他后面的做法都是一样的。 我在firefox中用模仿操作时报错:
#include <FF.au3>
#include <FFEx.au3>
_FFStart("http://chart.ydniu.com/trend/k3bj/")
Sleep(2000)
If _FFIsConnected() Then
$domParent=_FFGetValueById('filters')
Local $childrenNodes = $domParent.childNodes
For $child In $childrenNodes
If $child.getAttribute('value') == 200 Then
$child.click()
EndIf
Next
endif
出现错误:
变量必须是"Object"(对象)类型 回复 10# nmgwddj
麻烦看一下上面的写法对吗?报错了 回复 12# ysping
这样的低级错误不应该犯的,使用函数之前应该先查一下函数的作用、参数、返回值。细心一点可以避免很多弯路。
For In 遍历的是一个对象,而 _FFGetValueById 是返回一个 value 值,并非 Object。
获取 Object 的方法应该是 _FFObjGet
本帖最后由 nmgwddj 于 2016-8-17 14:40 编辑
另外,这些都是 au3 的自定义函数,打开 FF.au3 和 IE.au3 内部,你会发现他们都是调用原生的 DOM 操作。只不过在外面包了一层壳。
所有原生 DOM 操作我昨天也发了你地址,仔细学习,别人总结下来的精华不是让我们一眼掠过的:http://www.runoob.com/htmldom/htmldom-tutorial.html
如果你仔细考虑了我回另外一篇帖子的内容,我觉得你不应该提出这样的问题。
回复 14# nmgwddj
因为没有html、js基础,有些东西容易搞错,现在总算有点明白了。
谢谢!
页:
[1]
2