我發現了一個解決方案,它會一直等到它找到.m3u8文件。我使用fiddlecore作爲代理,所以我可以看到瀏覽器發送了什麼。這可以讓我捕獲任何請求,如果請求包含.m3u8,它只會打印出URL(我需要)。請注意,這不會與https工作,因爲fiddlecore需要認證(我想這很容易修復)。這是一個簡單的工作代碼。
bool close = false;
// - Initialize fiddler for http proxy
Fiddler.FiddlerApplication.Startup(5000, true, false);
Fiddler.FiddlerApplication.BeforeResponse += delegate(Session s)
{
string path = s.fullUrl;
if (path.Contains("720p.m3u8"))
{
Console.WriteLine(path);
close = true;
}
};
// - Create a selenium proxy
var seleniumProxy = new OpenQA.Selenium.Proxy { HttpProxy = "localhost:5000"};
var profile = new FirefoxProfile();
profile.SetProxyPreferences(seleniumProxy);
// - Initialize selenium for browser automation
IWebDriver driver = new FirefoxDriver(profile);
driver.Navigate().GoToUrl("http://www.asite");
while (!close) { }
driver.Quit();
Fiddler.FiddlerApplication.Shutdown();
http://stackoverflow.com/questions/15122864/selenium-wait-until-document-is-ready – Muckeypuck
關於 「等待頁面加載」。這裏有兩種不同的類型。假設您使用的是Chrome,如果該選項卡中的圈子停止旋轉,該頁面是否仍在「加載」?或者你的意思是說它準備好了嗎? –