我正在为.NET多线程应用程序寻找无头浏览器.它必须具有下一个功能:
我找到了这个解决方案
但不知道什么是最好的.如果您建议我最好的解决方案并给出一些使用它的.NET示例,将会很高兴.
是否有.NET的无头浏览器?
我在测试环境中寻找这个.
来自Java我想到了类似于HtmlUnit(http://htmlunit.sourceforge.net/)的东西,它本身就是Canoo WebTest或Celerity等不同高级工具的基础.
我想在.Net环境中为Web应用程序创建自动UI测试,但不使用Browser-Remoting(Watin,Selenium ...)
如果可能的话,我想坚持使用.Net解决方案并避免使用Java或Ruby工具.
有什么选择?你们在干什么?
谢谢
网页使用javascript来构建其html所以我需要支持js的html解析器.
我发现了角度锐利,但我不能让它起作用.
using AngleSharp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace AngleSharpScraping
{
class Program
{
static void Main(string[] args)
{
GetMkvToolNix();
Console.ReadKey();
}
static async void GetMkvToolNix()
{
// Create a new configuration with javascript interpreter.
var config = new Configuration().WithJavaScript();
// Parsing process.
var document = await BrowsingContext.New(config).OpenAsync(Url.Create("http://www.fosshub.com/MKVToolNix.html"));
var link = document.QuerySelector("body > div.container.page-content > div > div.col-sm-9 > article > div.main-dl-box > p:nth-child(2) > a.dwl-link.xlink").GetAttribute("data");
Console.WriteLine(link);
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在编写一个基于 Selenium WebDriver 的自动化 UI 测试解决方案。我需要一种独立于浏览器的方法,可以实现文件下载。
我的方法依赖于 System.Net.WebClient 类,如果存在属性(例如href或src) ,则可以成功从站点下载文件推断文件位置的
但是,当通常保存引用的元素没有指向文件的指针时,我遇到了问题。相反,该元素有一个与 Javascript 单击事件相关联的 CSS 类。单击该元素时,Javascript 会在动态创建的链接上触发window.open操作。
关于如何从我的 C# 代码中成功捕获该文件引用有什么想法吗?
我正在创建一个应用程序,使用以下方法对网站进行屏幕截图http://pietschsoft.com/post/2008/07/C-Generate-WebPage-Thumbmail-Screenshot-Image.aspx
我试图使应用程序多线程,但我遇到了以下错误:
[ActiveX控件'8856f961-340a-11d0-a96b-00c04fd705a2'无法实例化,因为当前线程不在单线程单元中.
有任何建议如何解决这个问题?我的代码基本如下:
List<string> lststrWebSites = new List<string>();
lststrWebSites.Add("http://stackoverflow.com");
lststrWebSites.Add("http://www.cnn.com");
foreach (string strWebSite in lststrWebSites)
{
System.Threading.ThreadStart objThreadStart = delegate
{
Bitmap bmpScreen = GenerateScreenshot(strWebSite, -1, -1);
bmpScreen.Save(@"C:\" + strWebSite + ".png",
System.Drawing.Imaging.ImageFormat.Png);
};
new System.Threading.Thread(objThreadStart).Start();
}
Run Code Online (Sandbox Code Playgroud)
从上面的URL复制GenerateScreenShot()函数实现:
public Bitmap GenerateScreenshot(string url)
{
// This method gets a screenshot of the webpage
// rendered at its full size (height and width)
return GenerateScreenshot(url, -1, -1);
}
public Bitmap GenerateScreenshot(string url, int width, int height)
{
// Load the …Run Code Online (Sandbox Code Playgroud) 我有一个主要的gui类和一些子类.有+ - 3个线程正在从各种互联网资源和API网关等收集数据.
现在,在其中一个线程中,我想运行一个webbrowser控件,所以我可以为我的程序添加一些自动浏览功能.每个子线程应该能够自己打开web浏览器.所以我创建了第二个c#窗体,它只包含webbrowsing控件.
我已经在这个新线程上使用了用于webbrowser控件的ApartmentState.STA设置.但是,form2没有响应.
我试着调用Application.Run(); 从这个线程,这使得webbrowser/form2响应.但后来我的主线程停止运行.
所以我对如何继续有点不确定.我想要的是什么?
c# ×4
.net ×3
automation ×2
javascript ×2
web-scraping ×2
anglesharp ×1
browser ×1
headless ×1
testing ×1
web-testing ×1
webtest ×1