自动化导航JavaScript驱动的网站

2 投票
4 回答
2100 浏览
提问于 2025-04-15 15:48

我想用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

http://social.msdn.microsoft.com/Forums/en-US/windowsaccessibilityandautomation/thread/6c47aaec-6beb-4b21-95b2-95186f5bb4a5

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 这个工具。

撰写回答