我已经加载了一个youtube页面(http://www.youtube.com/user/SeaNanners/videos),我想按下“加载更多”按钮,我已经累了几件事,比如;
foreach (HtmlElement el in webBrowser1.Document.GetElementsByTagName("input"))
{
if (el.GetAttribute("class").Equals("yt-uix-load-more load-more-button yt-uix-button yt-uix-button-default yt-uix-button-size-default"))
{
el.InvokeMember("click");
}
}
除了在类似问题上尝试其他答案之外; C# How to Click Button auttomaticly via WebBrowser Button click in web browser
似乎没有按下按钮。
答案 0 :(得分:1)
让它工作,快速和肮脏也许你可以写得更优雅一点; - )
<强>更新强>
我已阅读您之前询问过的Question,并相应更新了相应的代码。 使用这段代码,所有视频的视频都会被加载(这可能需要一段时间才能使用webbrowserControl)
private void button1_Click(object sender, EventArgs e)
{
bool found = true;
while (found)
{
if (webBrowser1.ReadyState == WebBrowserReadyState.Complete)
{
found = ClickLoadMoreButton();
Application.DoEvents();
}
}
}
private bool ClickLoadMoreButton()
{
var buttons = webBrowser1.Document.GetElementsByTagName("button");
foreach (HtmlElement el in buttons)
{
var firstChild = el.FirstChild;
if (firstChild != null)
{
if (!string.IsNullOrEmpty(firstChild.InnerText))
{
if (firstChild.InnerText.ToLower().Replace(" ", string.Empty).Equals("loadmore"))
{
el.InvokeMember("click");
return true;
}
}
}
}
return false;
}