【发布时间】:2012-01-20 15:54:04
【问题描述】:
类似的线程可能是:
How do I programmatically send information to a web service in C# with .Net?
Maintain button submit value when using link to submit a form
Looking how to send multiple values with an input type=submit form
How send a form with Javascript when input name is "submit"?
How do you submit a form with javascript with an < input type="button">
...以上所有内容似乎几乎都回答了这个问题...但我完全被迷惑了。我认为类似于“Net.Post(something)”的东西是如何完成的……但我不确定。
我目前正在使用 F#,并且我已经弄清楚了如何解析链接。我还想出了如何使用正则表达式捕捉各种搜索栏和提交按钮。
我想使用我的代码专门通过以下方式在搜索引擎上搜索内容:
首先,获取HTML
第二,为各种按钮、文本栏和链接抓取 HTML
第三,使用一些未知的方法/设备/工具/功能将搜索线程发送到文本框...
第四,模拟鼠标点击网站上出现的提交“按钮”...
...
然后,在收到服务器的响应后,从下一个站点提取 HTML。
这是我的链接代码:
type Url(x:string)=
member this.Tostring = sprintf "%A" x
member this.Request = System.Net.WebRequest.Create(x)
member this.Response = this.Request.GetResponse()
member this.Stream = this.Response.GetResponseStream()
member this.Reader = new System.IO.StreamReader(this.Stream)
member this.Html = this.Reader.ReadToEnd()
let linkex = "href=\s*\"[^\"h]*(http://[^&\"]*)\""
let getLinks (txt:string) = [for m in Regex.Matches(txt,linkex)
-> m.Groups.Item(1).Value ]
let collectLinks (url:Url) = url.html
|> getLinks
...我知道如何抓取搜索框字符串等等...问题是,当我去 google.com 并以与抓取链接相同的方式抓取搜索栏时,更新值带有我的搜索字符串的字段,然后我如何将更新的搜索栏提交到谷歌的服务器?
其次,如果我想更新它然后模拟鼠标点击,我该怎么做?
换句话说,我想以用户与网站交互的方式与网站交互。
【问题讨论】:
标签: c# javascript .net f# browser