相关疑难解决方法(0)

用于多线程应用程序的无头浏览器

我正在为.NET多线程应用程序寻找无头浏览器.它必须具有下一个功能:

  • 没有任何服务器安装工作.我需要简单的库来分发我的应用程序.
  • Ajax/HTML 5支持.能够处理页面元素:通过内部/外部(SGMLReader)XML查找和读取属性,或使用API​​单击按钮,填写表单等.
  • 正确的cookie容器(正确使用多个cookie响应并在所有会话期间存储cookie)
  • 可自定义的浏览器行(甚至选择Chrome/Firefox就足够了)
  • 多线程.所以没有静态cookie容器或smth.其他.我需要能够在2-100000不同的用户下登录和使用同一个站点.
  • 快速工作
  • 使用不安全的SSL使用https.

我找到了这个解决方案

但不知道什么是最好的.如果您建议我最好的解决方案并给出一些使用它的.NET示例,将会很高兴.

我读了这个,这个,以及其他许多答案,我还没有找到答案.

.net browser automation headless web-scraping

9
推荐指数
0
解决办法
680
查看次数

.NET是否有无头浏览器(用于自动Web-UI-Tests)?

是否有.NET的无头浏览器?

我在测试环境中寻找这个.

来自Java我想到了类似于HtmlUnit(http://htmlunit.sourceforge.net/)的东西,它本身就是Canoo WebTest或Celerity等不同高级工具的基础.

我想在.Net环境中为Web应用程序创建自动UI测试,但不使用Browser-Remoting(Watin,Selenium ...)

如果可能的话,我想坚持使用.Net解决方案并避免使用Java或Ruby工具.

有什么选择?你们在干什么?

谢谢

.net testing automation web-testing webtest

8
推荐指数
1
解决办法
4748
查看次数

使用AngleSharp在C#中解析JavaScript网页

网页使用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)

javascript c# web-scraping anglesharp

6
推荐指数
2
解决办法
7577
查看次数

如果文件由 javascript 提供服务,如何使用 WebClient 下载文件

我正在编写一个基于 Selenium WebDriver 的自动化 UI 测试解决方案。我需要一种独立于浏览器的方法,可以实现文件下载。

我的方法依赖于 System.Net.WebClient 类,如果存在属性(例如hrefsrc) ,则可以成功从站点下载文件推断文件位置的

但是,当通常保存引用的元素没有指向文件的指针时,我遇到了问题。相反,该元素有一个与 Javascript 单击事件相关联的 CSS 类。单击该元素时,Javascript 会在动态创建的链接上触发window.open操作。

关于如何从我的 C# 代码中成功捕获该文件引用有什么想法吗?

.net javascript c# selenium-webdriver

5
推荐指数
1
解决办法
1330
查看次数

我如何在工作线程上创建和使用WebBrowser控件?

我正在创建一个应用程序,使用以下方法对网站进行屏幕截图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)

c# multithreading webbrowser-control

3
推荐指数
2
解决办法
7830
查看次数

在不同的线程中运行和控制浏览器控件

我有一个主要的gui类和一些子类.有+ - 3个线程正在从各种互联网资源和API网关等收集数据.

现在,在其中一个线程中,我想运行一个webbrowser控件,所以我可以为我的程序添加一些自动浏览功能.每个子线程应该能够自己打开web浏览器.所以我创建了第二个c#窗体,它只包含webbrowsing控件.

我已经在这个新线程上使用了用于webbrowser控件的ApartmentState.STA设置.但是,form2没有响应.

我试着调用Application.Run(); 从这个线程,这使得webbrowser/form2响应.但后来我的主线程停止运行.

所以我对如何继续有点不确定.我想要的是什么?

c# webbrowser-control

1
推荐指数
1
解决办法
5970
查看次数