使用VBS从一个网页转到下一个超链接

时间:2012-04-25 21:12:43

标签: vbscript

我正在编写一个脚本来通过600多个超链接并从中获取信息,但这里是我从未写过vbs脚本的问题

所以我得到了我的基本“去网站X脚本”,一旦我想跟随该页面上的超链接,问题我不能使用链接的字符串地址因为后来我想去网站Y(相同的网站,但我正在查找一个不同的单词)Y将具有与X相同的超链接按钮,但背后的字符串将是不同的

任何人都知道如何让脚本转到X的链接以及稍后的Y(所以不使用超链接的字符串

感谢

>Option Explicit
>Dim objCHR
>Set objCHR = CreateObject("InternetExplorer.Application")
>objCHR.Navigate "http://www.yeastgenome.org/cgi-bin/locus.fpl?locus=YGR084C"
>objCHR.visible = true

2 个答案:

答案 0 :(得分:0)

我想知道为什么你使用vbscript如果这是你的第一个程序,有些语言在做这些事情时会更好(例如Ruby),并且有大量的库可以进行网络浏览等。 stackoverflow中有很多例子。我在这里发布一个Ruby示例作为另一个答案。

无法使用X Y链接跟随您,但是这里是加载页面内容的方法,您必须通过简单的instr和mid或正则表达式提取所需的信息。 如果您告诉我们您想要达到的目标,我可以帮助您。

Set objCHR = CreateObject("InternetExplorer.Application") 
objCHR.Navigate "http://www.yeastgenome.org/cgi-bin/locus.fpl?locus=YGR084C" 
objCHR.visible = true 
Do while not objCHR.ReadyState = 4 'wait till the page is loaded
  Wscript.Sleep(100)
Loop
Wscript.Echo objCHR.Document.body.InnerHTML 'show entire contents as HTML

答案 1 :(得分:0)

如果您需要学习脚本语言,那么学习Ruby或Python。 这里有一个简单的Ruby脚本,显示页面上的所有链接,这个使用nokogiri作为库,你也可以使用mechanize。

require 'nokogiri' 
require 'open-uri' 

doc = Nokogiri::HTML(open("http://www.yeastgenome.org/cgi-bin/locus.fpl?locus=YGR084C" ).read) 
hrefs = doc.css("a").map do |link| 
  if (href = link.attr("href")) && !href.empty? 
    URI::join(url, href) 
  end 
end.compact.uniq 
STDOUT.puts(hrefs.join("\n"))