我正在使用GeckoFX和C#中的正则表达式来制作YouTube视频频道。我想获取所选频道中所有视频的网址。
我想使用GeckoFX(Firefox渲染引擎)转到视频部分,然后点击Load more
按钮,直到每个视频显示。
我正在使用此代码一遍又一遍地点击Load more
:
javascript:(function() {
var LoadButton, IntervalCLB;
IntervalCLB = setInterval(_clickLoadButton, 100);
function _clickLoadButton() {
LoadButton = document.getElementsByClassName('load-more-button');
if (LoadButton.length > 0) {
LoadButton[0].click();
}
else {
clearInterval(IntervalCLB);
alert('Finished - Clicked all "Load More" Buttons.');
}
}
})();
我想在C#中写出类似的内容。
我的代码如下:
System.Threading.Thread.Sleep(1000);
GeckoDocument document = geckoWebBrowser1.Document;
GeckoHtmlElement Male = (GeckoHtmlElement)document.GetElementsByClassName("load-more-button")[0];
if ( Male != null ) {
Male.Click();
}
但是,只需在一秒钟后点击Load more
。
如何在Load more
按钮消失之前循环播放?
答案 0 :(得分:-1)
Timer timer = new Timer(1000);
timer.Elapsed += ( sender, e ) => {
GeckoDocument document = geckoWebBrowser1.Document;
GeckoHtmlElement Male = (GeckoHtmlElement)document.GetElementsByClassName("load-more-button")[0];
if ( Male != null ) {
Male.Click();
}
};
timer.Start();
但实际上,我建议您查看YouTube API:https://developers.google.com/youtube/v3/code_samples/dotnet