Çerezleri ve otomatik olarak javascript uygulamasını destekleyen .NET için başsız bir tarayıcı önerilebilir mi?C# tarayıcı için javascript desteği ile başsız bir tarayıcı
cevap
.NET tabanlı bir başsız tarayıcının farkında değilim, ancak her zaman C/C++ olan PhantomJS ve QUnit ile JS'nin birim sınamalarında yardımcı olmak için oldukça iyi çalışıyor. Headless browser for C# (.NET)?
Selenium+HtmlUnitDriver/GhostDriver tam olarak aradığınız şey -
size yardımcı olabilir burada başka bir konuyla ilgili soru vardır. Oymimplified, Selenium otomasyon amaçlı çeşitli tarayıcıların kullanımı için kütüphanedir - test, kazıma, görev otomasyonu.
Gerçek bir tarayıcıyı çalıştırabileceğiniz farklı WebDriver sınıfları vardır. HtmlUnitDriver başsız bir tanesidir. GhostDriver, PhantomJS için bir WebDriver yazılımıdır, bu yüzden C# yazabilirken, PhantomJS ağır kaldırma işlemini gerçekleştirir.
Firefox için Selenium docs kod snippet'i, ancak GhostDriver (PhantomJS) veya HtmlUnitDriver kodu aynıdır. Windows makinede bu çalıştırırsanız sizin C# programlanmış olarak faaliyet gösterecek gerçek bir tarayıcı penceresi açılacaktır çünkü
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Support.UI;
class GoogleSuggest
{
static void Main(string[] args)
{
// driver initialization varies across different drivers
// but they all support parameter-less constructors
IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://www.google.com/");
IWebElement query = driver.FindElement(By.Name("q"));
query.SendKeys("Cheese");
query.Submit();
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
wait.Until((d) => { return d.Title.ToLower().StartsWith("cheese"); });
System.Console.WriteLine("Page title is: " + driver.Title);
driver.Quit();
}
}
gerçek Firefox/Krom sürücüsünü kullanabilirsiniz. HtmlUnitDriver en hafif ve hızlıdır.
Linux'ta C# (FirefoxDriver) için Selenium'u Mono kullanarak başarıyla çalıştırdım. Ben htmlUnitDriver aynı zamanda diğerleri kadar iyi çalışacağını varsayalım, bu yüzden hıza ihtiyacınız varsa - Mono'ya gitmenizi öneririm (Windows üzerinde Visual Studio ile geliştirebilir, test edebilir ve derleyebilirsin, problem yok) + Selenium HtmlUnitDriver masaüstü olmadan Linux ana bilgisayarında çalışır .
[WebBrowser denetimi] (http://msdn.microsoft.com/en-us/library/2te2y1x6.aspx)? –
[WebClient run javascript] 'nin olası kopyası (http://stackoverflow.com/questions/5372277/webclient-runs-javascript) –
Bunu nasıl kullanmayı planlıyorsunuz? – jrummell