C# 如何发出WatiN内部http请求?

C# 如何发出WatiN内部http请求?,c#,watin,C#,Watin,只是想知道是否有可能在不使用单独代码的情况下对图像发出内部额外请求。例如 var browser = new IE(); string url = "https://www.google.com/" browser.GoTo(url); // extract http://www.google.com/images/logos/ps_logo2.png //using a http request using browser ? browser.Images不允许我保存图像:|,如何发出外

只是想知道是否有可能在不使用单独代码的情况下对图像发出内部额外请求。例如

var browser = new IE();
string url = "https://www.google.com/"
browser.GoTo(url);

// extract http://www.google.com/images/logos/ps_logo2.png 
//using a http request using browser ?

browser.Images
不允许我保存图像:|,如何发出外部请求以获取图像?

如果您已经知道图像的URL,可以使用
System.Net
命名空间中的类

byte[] image = new WebClient().DownloadData("https://www.google.com/images/logos/ps_logo2.png");

也许这些步骤有效:

  • 在页面上查找图像:
var image=browser.image(Find.First())
  • 获取href并导航到它
browser.GoTo(image.href);
  • 获取页面的屏幕截图:
var screenshot=new utilityplasses.CaptureWebPage(_浏览器).CaptureWebPageImage(false,false,100);
  • 然后将屏幕截图修剪到图像的大小。要获取图像的高度和宽度,需要调用
var-width=image.Style.GetAttributeValue(“宽度”);
var height=image.Style.GetAttributeValue(“高度”);
  • 现在,您可以创建具有正确高度和宽度的新图像
嗯,,
Jeroen

谢谢,我的URL是https URL,所以我不能使用WebClient()。无法使用内部ref并进行单独的内部调用吗?
WebClient
通过https工作。我以前从未用过WatiN,所以我必须检查一下。Jeroen,谢谢你的回答。它适用于保存在网页中的普通图像。在我的情况下,这是一个验证码图像。有没有办法打开一个单独的选项卡并使用此方法?非常感谢