0

我正在尝试以编程方式制作脚本。

我设法将洞 html 页面转换为字符串,现在我想以某种方式单击那里的元素。我有点迷路了,所以任何信息都可以提供帮助。

我试图将文档作为 HtmlDocument 获取,但由于某种原因,当我使用 getElementById 方法时,它没有找到该元素。

请,任何信息都会有所帮助。

谢谢。

目前这是我得到的代码,它让我知道我有字符串,它的值是 html 文档,现在我需要一些如何提取相关标签并以编程方式单击它。

感谢您的投入,仍在等待可以帮助我的人。

string email = "someemail*";`enter code here`
string pw = "somepass";
string PostData = String.Format("email={0}&pass={1}", email, pw);

CookieContainer cookieContainer = new CookieContainer();

HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://www.facebook.com/*******");
req.CookieContainer = cookieContainer;
req.Method = "POST";
req.ContentLength = PostData.Length;
req.ContentType = "application/x-www-form-urlencoded";
req.AllowAutoRedirect = true;
req.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2";

ASCIIEncoding encoding = new ASCIIEncoding();
byte[] loginDataBytes = encoding.GetBytes(PostData);
req.ContentLength = loginDataBytes.Length;
Stream stream = req.GetRequestStream();
stream.Write(loginDataBytes, 0, loginDataBytes.Length);

HttpWebResponse webResp = (HttpWebResponse)req.GetResponse();

Stream datastream = webResp.GetResponseStream();
StreamReader reader = new StreamReader(datastream);
string sLine = "";
string json = "";
while (sLine != null)
{
    sLine = reader.ReadLine();
    json += sLine;
}
json.ToString();
4

3 回答 3

1

也许您可能想看看 WaitN,它可以让您真正轻松地完成所有这些工作

于 2012-08-10T02:14:33.567 回答
0

“点击链接”与发送 HTTP 请求相同。如果您可以从您拥有的文档中解析 URI,则可以单独创建 HTTP 请求并发送该请求。

于 2012-08-10T02:15:11.413 回答
0

单击链接是通过为链接的 href 发出 HTTP-Get 来完成的。

如果存在 JavaScript 交互性,那么您需要获取一个 webbrowser 元素,并注入一个 javascript,在 document.ready 上执行document.getElementById("whatever").click()

请参阅 如何以编程方式单击带有 javascript 的链接?

您可以使用 HTML 敏捷包来解析 HTML 文档并提取 HREF 参数。

于 2012-08-10T09:29:24.023 回答