HTML Agility Pack for .net的线程安全吗?使用单一的HtmlDocument实例在平行线程中进行只读访问。
使用单个HTMLDocument实例跨并行线程,用于.NET线程的HTML敏捷性包适用于读取的访问? ? 我正在刮擦一个页面,但要刮擦页面的某些部分,以了解我的需要速度可能会很慢,因此我想使用并行C#库一次刮擦该页面的多个部分. . 解决方案 我在多线程程序中使用了HTMLagilityPack,并且效果很好. 我认为您只需要使用一些方法来保护您的程序. 例如 锁(异步) { //做HTML处理... }
168 2024-04-26
编程技术问答社区
WebRequest比Browser > view source返回更多来源
我正在C#中编写硒实用程序,以帮助进行自动测试.我可能在这里可能缺少完全明显的东西,但是为什么如果我将httpwebrequest发送到服务器并检索响应流,我最终会得到更多的源(即Selenium的可映射的Webelements),而不是正确的 - 单击 - 我浏览器中的查看页面源? 这意味着我正在映射硒驱动程序无法找到运行时的元素. 我很困惑:s HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse res = (HttpWebResponse)req.GetResponse(); StreamReader sr = new StreamReader(res.GetResponseStream()); var src = sr.ReadToEnd(); 解决方案 有许多可能性.一个可能的罪魁祸首是您发送到服务器的信息的差异.浏览器通常会发送各种标题,cookie
6 2024-04-26
编程技术问答社区
C# WebBrowser.ShowPrintDialog()不显示
我想打印HTML报告时有一个特殊的问题.该文件本身是一个普通的本地HTML文件,位于我的硬盘驱动器上. 为此,我尝试了以下内容: public static void PrintReport(string path) { WebBrowser wb = new WebBrowser(); wb.Navigate(path); wb.ShowPrintDialog() } 我有一个带有单击事件的按钮的表格: private void button1_Click(object sender, EventArgs e) { string path = @"D:\MyReport.html"; PrintReport(path); } 这绝对没有任何作用.这有点奇怪...但是事情变得陌生... 编辑打印功能以执行以下操作:
20 2024-04-26
编程技术问答社区
如何确定JavaScript中的连接类型
我设置了以下功能,以通知我的浏览器当前连接类型.由于某种原因,这是返回的.难道我做错了什么?要注意的是,我不认为在scriptNotify中获得值是问题,我正在使用这种相同的方法来适合其他功能.似乎Navigator.connection为null. javascript function getConnectionType() { var connectionType = navigator.connection; window.external.notify("Connection type: " + connectionType.toString()); } c# 在按钮单击事件中,我使用InvokEscript调用该函数 object connectionType = Browser.InvokeScript("getConnectionType"); ,然后 private void Browser_
14 2024-04-26
编程技术问答社区
如何使Sharepoint的文本框(input,type=text)动态多行化?
我想要我的Web部件上的文本框,可以按需垂直生长.也就是说,除非用户输入过多的文本,否则它将是一行,此时,它的单词包装并垂直增长以适应用户的冗长. 我正在动态创建我的控件/元素,然后创建此元素: boxPaymentExplanation = new TextBox() { CssClass = "dplatypus-webform-field-input" }; boxPaymentExplanation.Width = 660; boxPaymentExplanation.Style.Add("display", "inline-block"); 我尝试添加此行,希望实现此功能: boxPaymentExplanation.Style.Add("TextMode", "MultiLine"); ...但是它没有明显更改文本框的行为 - 我可以输入文本"直到牛回到谷仓",但它只是将字符添加到单行的文本框的末尾.它从不包裹,所以永远不会生长. 更新
8 2024-04-26
编程技术问答社区
无法在WebBrowser中以编程方式设置textBox控件的值
我试图以编程为编程的值将值设置为Web浏览器中的文本框,但它引发了Null例外. 这是代码,我尝试了: - webbrowser1.document.getElementbyId(" field-summary").innertext =" something"; webbrowser1.document.getElementById(" field-summary").setAttribute(" value"," sometsing"); 我试图通过使用快速手表来找到该元素,并且在那里,但是我无法设置一个值. 特此,我也附上了手表的快照. 这是错误,我遇到了. type" system.nullReferenceException"类型的第一个机会例外发生在timesheet.exe中 MSCORLIB.dll 中出现了第一个机会. 我的问题是,我试图为Innertext设定价值,而我没有对Innertext进行任何操纵.但仍然在投掷错误
18 2024-04-26
编程技术问答社区
我如何有条件地指定HTML输入是否禁用/只读或不读?
这是我要实现的样本: @Html.EditorFor(m => m.Description, new { htmlAttributes = new { @class = "form-control", @readonly = Model.IsReadOnly, disabled = Model.IsDisabled } }) 问题是浏览器处理readonly和disabled令牌的存在而无需检查其内容,因此当IsReadOnly和IsDisabled属性为false时,它仍然会显示为disabled. 有什么简单的解决方案吗? 解决方案 html: - @Html.EditorFor(m => m.Description, new { htmlAttributes = new { @class = "form-control" } });
14 2024-04-26
编程技术问答社区
如何将HTML解析(HAP)与ListBox DataTemplate绑定?
我目前正在运行以下代码,以使用HTML敏捷性包来解析HTML链接. 编辑********************************与建议更改的代码 void client_downloadstringcompleted(对象发送者,downloadstringCompleteDedEventargs e) { var html = e.result; var doc = new HtmlDocument(); doc.LoadHtml(html); var list = doc.DocumentNode.Descendants("div").ToList(); var node = doc.DocumentNode.Descendants("div") .FirstOrDefault(x => x.Id == "FlightInfo_FlightInfoUpdatePanel") .Element("table") .Elem
16 2024-04-26
编程技术问答社区
C# 获取文本,取代HTML代码中跨标签的文本
我必须在C#中执行控制台应用程序,该应用程序从特定网页中读取一些文本.现在我有一些问题,因为我不知道如何在标签之间阅读文本. 首先,我使用WebClient对象从网页下载HTML代码. WebClient client = new WebClient(); String htmlCode = client.DownloadString(link); in htmlcode 字符串,在标签之间,我有一个图像,该图像是加载栏的gif. 如果我从浏览器访问该网站并检查该部分,或者如果我在网页的那部分中使用Inspect Element功能(向我显示HTML代码),我有一个很长的文本(我需要获取). 另外,在浏览器中,如果我选择查看源,仍然有这些标签. 我需要获取替代GIF图像的文本.我该怎么做? 谢谢.
16 2024-04-26
编程技术问答社区
在C#中创建带有超链接的Outlook.ics文件
下面的代码假定会生成一个带有链接内部链接的.ICS文件. 它生成.ICS,但问题是,链接显示HTML代码而不是超链接.任何想法都可以提供帮助. (这是一个重新发布,因为我较早的帖子没有显示整个代码) 谢谢. public ActionResult ExportToOutlook(Guid id) { var query = new GetActivityByIdQuery(); var queryResult = query.Execute(id); var outlookCalendarFileCreator = new OutlookCalendarFileCreator(); var contentData = outlookCalendarFileCreator.CreateOutlookCalendarFile(queryResult); var fileName = String.Format("Activity.ics"
12 2024-04-26
编程技术问答社区
在<a> <p> <pre> <h1,...,6>标签之间用regex解析html段落
大家好,我需要一些帮助,这是我的代码; private void button1_Click(object sender, EventArgs e) { string s = KaynakKodunuCek("http://tr.wikipedia.org/wiki/Lale"); // tagları arasını alıyor.(taglar dahil) Regex regex = new Regex("(?i)]+)>(.+?)"); string gelen = s; string inside = null; Match match = regex.Match(gelen); if (match.Success) { inside= match.Value;
22 2024-04-26
编程技术问答社区
将Adobe PDF浏览器插件的来源设置为字节流?
是否可以具有Adobe插件为PDF字节流的来源? 如果是这样,如何在标记中声明? 编辑1: 好的,让我详细说明.我已经建立了一个在Azure上运行的网站.该网站的后端是WCF Web服务,也是Azure. 本网站的一个特殊功能与报告有关.用户选择所需的报告类型后,向服务提出了请求,并将PDF文件的字节流发送回响应. 现在,问题是用户如何查看文件?是否可以将Adobe Acrobat PDF插件的文档源设置为符合以下路线的内容: //byte stream //stream's mime type 编辑2: 好吧,所以没有人愿意对此造成破解.但是,我问的唯一原因是因为它完全可以通过以下代码设置图像的来源:
20 2024-04-26
编程技术问答社区
用正则表达式查找网页中的所有链接
我正在尝试在网站上找到源代码中的所有链接,有人可以告诉我我需要在正则句子中找到这些链接以找到这些? 重复(等):正常表达式用于解析链接的正常表达网页? Google找到更多信息: 解决方案 我不确定这些将如何转化为C#(我尚未在C#我自己做任何开发),但是这是我可以在JavaScript或Coldfusion中做到这一点的方法.它可能会使您了解如何在C#中进行操作. 在JavaScript I Think 这将有效: rex = /.*href="([^"]+)"/; a = source.replace(rex,'\n$1').split('\n'); 之后,A将是包含链接的数组……尽管我不确定这是否会完全按照我的想法工作.这里的想法是,替换会创建一个折线的列表(因为您不能在URL中有线路破坏),然后您可以用split()分解列表以获取数组. 通过比较ColdFusion,您必须做一些稍有不同的事情: a = REMatch('href="
20 2024-04-26
编程技术问答社区
向网站上的密码字段发送/设置一个值
我写了一个小型应用程序,需要登录到网站以执行一些操作. 问题是,每当我尝试在网站上设置密码字段时,它都不接受密码. 我通过使用sendkeys函数找到了解决此问题的方法.问题在于它需要重点,并且该程序需要在后台运行. 有办法做到这一点吗? 这是您如何设置用户名字段的示例: WebBrowser.Document.GetElementById("field-username").SetAttribute("value", "UserName") 任何帮助都很棒. 解决方案 这个问题的答案如下: WebBrowser.Document.GetElementById("field-loginFormPassword").SetAttribute("maxLength", "20") WebBrowser.Document.GetElementById("field-loginFormPassword").SetAttribute("value", "y
8 2024-04-26
编程技术问答社区
使用CefSharp从本地主机端口获取数据的方法
当前正在开发显示Web浏览器的.NET C#应用程序.但是,由于Visual Studio Web浏览器仍在使用IE7,并且不支持很多东西,因此我计划将其放入Cefsharp,即Chromium.那么,你们是否每次尝试使用CEFSHARP从LocalHost服务器获取一些JSON数据?我尝试了两种方法来获取它,但失败了. 对于Visual Studio中的C#,我像这样发射了Chromium浏览器: var test = new CefSharp.WinForms.ChromiumWebBrowser(AppDomain.CurrentDomain.BaseDirectory + "html\\index.html") { Dock = DockStyle.Fill, }; this.Controls.Add(test); 然后,对于index.html,加载后需要从本地主机端口1000获取数据.我已
18 2024-04-26
编程技术问答社区
WebBrowser ID访问--不是在DocumentText中,而是在页面源代码中
我正在使用WebBrowser对象,用于Windows表单.NET Framework 4.5应用程序上的Web自动化目的.在特定页面中,即使我从实际浏览器打开查看页面源时,我也无法在WebBrowser.DocumentText中看到ID. 这是我总是用来在页面内获取HtmlElement的代码. var attack = wb.Document.GetElementById("target_attack"); 总结一下如何检索不在documentText内部而是在页面源内的ID? 编辑:这就是页面源数据中的样子.只需按 conrol + f ,然后搜索名为troop_confirm_go的ID:
14 2024-04-26
编程技术问答社区
如何动态地创建一个HTML表?
如何动态创建HTML表或ASP表?我已经尝试了下面的代码,但它不起作用. Table tb = new Table(); tb.ID="tbl"+TBname; TableRow rowNew = new TableRow(); tb.Controls.Add(rowNew); for (int j = 0; j 在背后的代码中: ltrlctrl1.Text = " your HT
18 2024-04-26
编程技术问答社区
如何处理TextBox中的Html输入
我有一个要求用户可以在ASP.NET文本框中输入HTML标签.文本框的值将保存在数据库中,然后我们需要显示 在其他页面上他输入的内容.因此,我在页面指令上设置了ValidateRequest="false". 现在的问题是,当用户输入如下: window.location = 'http://www.xyz.com'; 现在它的值保存在数据库中,但是当我在其他页面中显示其值时,它将我重定向到"http://www.xyz.com",这很明显 随着JavaScript抓住它.但是,我需要找到一个解决方案,因为我需要确切显示他输入的内容. 我正在考虑server.htmlencode.您能否指导我达到我的要求 解决方案 始终始终始终对用户的输入进行编码,然后才会在数据库中持续存在.您可以通过做 轻松实现这一目标 Server.HtmlEncode(userinput) 现在,是时候将内容显示给用户解码用户输入并将其放在屏幕上:
22 2024-04-26
编程技术问答社区