自动化导航JavaScript驱动的网站
我想用Python自动在一个用JavaScript做的网站上导航,这样我就可以抓取一些内容。我发现了一个叫Chickenfoot的东西,它是一个Firefox浏览器的插件,可以让我通过编程来控制浏览器。
你知道还有其他的解决方案吗?
4 个回答
2
你可以很简单地通过javascript(.js文件)或者其他可以使用COM的语言(比如c#、perl等)来自动化Internet Explorer。
http://msdn.microsoft.com/en-us/library/aa752084%28VS.85%29.aspx
这里有一个用vbscript写的简单例子:
Dim objIE
Dim objWebForm
Dim objDoc
dim leCount
dim objElement
dim objElementCollection
dim leIndex
Set objIE = WScript.CreateObject("InternetExplorer.Application")
objIE.AddressBar = true
objIE.Visible = true
Sub WaitForLoad (objIE)
Do While objIE.Busy
WScript.Sleep(1000)
Loop
WScript.Sleep(500)
End Sub
objIE.Navigate("http://www.softtesting.org/")
WaitForLoad(objIE)
set objDoc = objIE.document
Set objElementCollection = objDoc.getElementsByTagName("a")
leCount = objElementCollection.length
For leIndex = 0 To leCount-1
Set objElement = objElementCollection(leIndex)
If (("http://www.softtesting.org/forum/")=objElement.href) Then
objElement.Click()
End If
Next
3
WWW::Mechanize 有几个扩展或者兼容的替代品可以用来处理JavaScript,比如:WWW::Mechanize::FireFox、WWW::Mechanize::Plugin::JavaScript/WWW::Scripter::Plugin::JavaScript、Mozilla::Mechanize、Gtk2::WebKit::Mechanize,还有Win32::IE::Mechanize。
2
可以看看 Selenium 这个工具。