在HttpWebResponse上使用DOM/SAX而不是XmlSerializer
我想在以下代码中使用sax/dom解析器来读取httpwebresponse中的xml 而不是使用XMLSerializer. 请帮我怎么做? HttpWebRequest request = WebRequest.Create(requestURI) as HttpWebRequest; request.Credentials = _cred; WebResponse response = request.GetResponse(); XmlSerializer ser = new XmlSerializer(typeof(MyXMLClass)); myXMLClassObj = ser.Deserialize(response.GetResponseStream()) as MyXMLClass; 解决方案 HttpWebRequest request = WebRequest.Create(requestURI) as HttpWebReque
12 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
编程技术问答社区
用JavaScript取消Asp.net GridView的复选框
我正在使用JavaScript进行未检查的GridView. 但是每当我尝试时,我都无法取消选中. function UncheckedItemsCheckBox(CheckboxID) { var checkbox = document.getElementById(CheckboxID); checkbox.checked = false; alert(checkbox.id + " : " + checkbox.name + " : " + checkbox.checked); } 这是输出. --------------------------- Message from webpage --------------------------- GridView1_ctl02_txtDoseQty : GridView1$ctl02$txtDoseQty : false ------------------
12 2024-04-26
编程技术问答社区
C#使用WebBrowser控件,需要访问DOM元素
我使用C# 在Winform应用程序内有一个网页加载 我需要将数据键入该页面上的特定字段(不使用WATIN). . 如果有人有其他解决方案,我对此很开放. 所讨论的页面没有Ajax或JavaScript.它们是简单的HTML数据输入表. 解决方案 您可以使用WebBrowser控制的Document属性: c#代码: if (webBrowser1.Document == null) return; var form = webBrowser1.Document.Forms[0]; //form element var input = form.Children[0]; //input element input.SetAttribute("value","input value"); //set the input value form.InvokeMember("submit"); //submit the form 演示HTML页面加载到Web
16 2024-04-26
编程技术问答社区
如何用C#访问一个特定的HTML元素?
我有一个包含HTML的字符串,我需要能够访问特定元素以从中获取文本(该元素没有ID或类或名称,因此Regex不可能解决). 例如,可以说我需要访问:"/html/hod/div/div/div/div/div/table [0]/div/ul/li [12]/a/"". 我该怎么做? 解决方案 如果HTML格式化良好,则可以使用 xmldocument 也如Maxim提到的那样, html敏捷性包可能会做您需要的事情. 最近的文章从4GuysFromrolla 与HTML敏捷套件进行解析html
16 2024-04-25
编程技术问答社区
C# HtmlAgilityPack的Xpath问题,难以找到H4内文
我有一种方法,可以在网页的一个部分中找到我要寻找的所有内容,除了我试图在节点中找到H4.//div [@class ='job']的xpath正确找到了我正在寻找的所有8个事件.但是,在我尝试穿越8次事件之后,我遇到了问题. 这是我正在查看的代码的HTML输出. Meet With the South Gang Family
12 2024-04-25
编程技术问答社区
基于UWP的项目,带有DOM浏览器的WebView
我想知道是否有这样的库,或者是否有人可以给我暗示如何实施这样的事情. 我想要的确切的是DOM Explorer的功能(更具体,当您在任何浏览器上并使用DOM Explorer Pop点击F12窗口时,您可以在其中浏览HTML和CSS的各个方面).我想知道是否有可能为WebView创建此功能,如果是这样,将不胜感激. 注意:我正在Visual Studio 2015,Winrt(Windows Universal 8.1),C#项目. 谢谢! 解决方案 现在探索DOM的唯一方法是使用webview.invokescriptscriptasync()方法调用JavaScript函数.因此,我想如果在您的WebView.domContentloaded事件处理程序中,您会做这样的事情: var result = await this.webView.InvokeScriptAsync("eval", new[] { "document.documentEleme
14 2024-04-25
编程技术问答社区
在导航后无法调用注入WebBrowser's Document的代码中创建的JavaScript对象的方法
我发现了其他一些类似的问题,但并非完全可以解决这个特定问题的解决方案.我正在研究一个像Internet Explorer的Imacros这样的项目.这是我简化的代码: public partial class Form1 : Form { public JSObject jsObject = new JSObject(); int uniqueNameEnsurer = 0; public Form1() { InitializeComponent(); webBrowser1.Navigate("www.google.com"); } private void InvokeCode(string functionCode) { HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
12 2024-04-25
编程技术问答社区
XslCompiledTransform的输出编码
我的代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Xsl; namespace xslt_samples { class Program { static void Main(string[] args) { XslCompiledTransform myXslTransform = new XslCompiledTransform(); // Here the myXslTransform.OutputSettings is null still... myXslTransform.Load(@".\in3.xsl"); // The myXslTransform.Out
14 2024-04-24
编程技术问答社区
如何使CefSharp WinForms控件滚动页面到链接
因此,这是场景,在Winforms应用程序中使用CEFSHARP. 我们在该页面中有两个信息网址和一个链接URL. 我们想加载页面 - 轻松完成,并让CEFSHARP显示链接所在的页面区域.这是CEFSHARP自动滚动到该链接在DOM中的页面上的正确位置. 最简单的方法是什么? 解决方案 不确定您正在使用哪个版本,我能够使用 CEFSHARP的最新稳定版本(47.0.0). 首先将处理程序添加到FrameLoadEnd事件: browser.FrameLoadEnd += OnBrowserFrameLoadEnd; 处理程序如下: private void OnBrowserFrameLoadEnd(object sender, FrameLoadEndEventArgs frameLoadEndEventArgs) { if (frameLoadEndEventArgs.Frame.IsMain && frameLoadEndEventAr
24 2024-04-23
编程技术问答社区
在IE6/7中使用IHTMLElement5/6(用于IE8/9)会发生什么?它是否转向IHTMLElement的行为?
基本上,根据以下版本管理规则,IHTMLELEMT5和IHTMLELLEMT6都是主要IHTMLELLENT的扩展接口: IHTMLElement IE4 IHTMLElement2 IE5 IHTMLElement3 IE5.5 IHTMLElement4 IE6 IHTMLElement5 IE8 IHTMLElement6 IE9 当然,每个新的扩展接口都有其中的旧成员 +其自己的新成员,属性等.但是,某些成员(例如,.getAttribute)是相同的名称,但已更新.因此,我的问题是,如果我使用(Say)ihtmlelement6来声明我的HTML元素并在仅安装IE6的客户端上运行代码,那么我的对象何时会失败并保持为null/Nothing/nother note note new of ins of ins of in n of in n of n ew mshtml.dll足够聪明,足以意识到发生了什么事和默认为ihtmlelement4(
12 2024-04-23
编程技术问答社区
不使用浏览器控件从字符串中获取HtmlDocument
我使用WebClient获得网页的HTML代码(作为字符串). 但是,我想将其变成一个HTMLDOcument对象,以便我可以使用此类提供的DOM功能.目前,我知道该怎么做的唯一方法 - 使用浏览器控件如下: string pageHtml = client.DownloadString(url); browser.ScriptErrorsSuppressed = true; browser.DocumentText = pageHtml; do { Application.DoEvents(); } while (browser.ReadyState != WebBrowserReadyState.Complete); return browser.Document;
10 2024-04-23
编程技术问答社区
C# WPF Web浏览器 msHTML-Explore DOM-Find Elements
实际上,我使用WPF和WPF WebBrowser在C#中从事个人项目.我真的需要像以前在JavaScript或php..ETC 中探索HTML DOM元素 在我的MainWindow中,我有此变量: private mshtml.HTMLDocument mainDocument = new mshtml.HTMLDocument(); 在我的webbrowser loadComplete回调中,我有一个: mainDocument = (mshtml.HTMLDocument) mainBrowser.Document; 好吧,这很好,它正在工作. 现在如果我这样做: mshtml.IHTMLElement elem = mainDocument.getElementById("MY_ID"); 它也非常好,可以做elem.innerhtml或类似的东西. ,但我的问题只是htmldocument具有通过tagnames来查找ID元素的方
12 2024-04-23
编程技术问答社区
强制将XML字符实体放入XmlDocument
我有一些看起来像这样的XML: 我想强制xmldocument使用括号的XML字符实体,即: msdn说: 为了分配属性值 其中包含实体参考, 用户必须创建XMLATTRIBUTE节点 加上任何xmlText和 xmlentityReference节点,构建 适当的子树并使用 将其分配为 属性的值. XmlDocument doc = new XmlDocument(); doc.LoadXml(""); XmlAttribute x = doc.CreateAttribute("x"); x.AppendChild(doc.CreateEntityReference("#123")); doc.DocumentElement.Attributes.Append(x); 我得到了例外Cannot create an 'EntityReference' no
18 2024-04-22
编程技术问答社区
不使用浏览器控件从字符串中获取HtmlDocument
我使用WebClient获得网页的HTML代码(作为字符串). 但是,我想将其变成一个HTMLDOcument对象,以便我可以使用此类提供的DOM功能.目前,我知道该怎么做的唯一方法 - 使用浏览器控件如下: string pageHtml = client.DownloadString(url); browser.ScriptErrorsSuppressed = true; browser.DocumentText = pageHtml; do { Application.DoEvents(); } while (browser.ReadyState != WebBrowserReadyState.Complete); return browser.Document;
16 2024-04-22
编程技术问答社区
获取网络组件内的事件目标
用户与Web组件进行交互时,会创建锚定元素().问题是,我无法在单击锚点时从Web组件的"外部"返回锚点元素. 我将事件侦听器添加到document侦听点击事件.当单击DOM中的某个元素时,我希望e.target是单击的元素. 如果单击Web组件中的某个地方,将返回自定义元素() - 而不是单击元素. 当将阴影DOM的模式设置为open时,应访问DOM. 在 class Fancylist extends HTMLElement { constructor() { super(); const shadow = this.attachShadow({ mode: 'open' }); const wrapper = document.createElement('div'); wrapper.innerHTML = ` Add item
20 2024-04-22
编程技术问答社区
如何在使用表单步进步骤中的元素之前检查该步骤是否已完成渲染?
我正在使用 angular2-wizard 填写银行帐户详细信息.在第二步中,我询问帐户信息(编号,CVC,到期日期),这些元素来自 IntegrationError:我们无法从指定元素中检索数据.请确保您尝试使用的元素仍在安装. 我对为什么会发生这种情况的想法 - angular2 -wizard正在删除步骤之间的dom元素,或者我不等待步骤2(帐户信息)在我尝试和尝试之前要呈现安装元素. 我看到这些帖子在这里相似 Angular 8:嵌套在NEBULAR组件内的条纹元素 请确保您尝试使用的元素仍在安装 问题 - 在创建我的条纹令牌时,我如何调试元素是否已被删除,重置或隐藏在DOM中? 在安装元素之前,我该如何等待或确保下一步(步骤2)已完全渲染在DOM中? 我尝试的是 - 我检查了元素" this.debitcardnumberelemt",以查看它是否仍然是通过调用" this.debitcardnumberelement_ismounte
14 2024-04-22
编程技术问答社区
带有点击和高亮功能的C#网络浏览器
在我进行编码之前,我想我会看看这里是否有人知道已经建立的任何开源(或付费). 我正在寻找一个浏览器控件,用户可以在其中预览网页,然后突出显示其元素,一旦突出显示,我就可以获取所选元素的DIV或ID. 有人看过这样的东西吗? 解决方案 这是使用.NET WebBrowser Control的粗版本,该版本使用Internet Explorer. namespace WindowsFormsApplication1 { using System; using System.Collections.Generic; using System.Diagnostics; using System.Windows.Forms; public partial class Form1 : System.Windows.Forms.Form { private HtmlDocument document;
16 2024-04-21
编程技术问答社区
在WebBrowser控件中获取子锚元素
序言 我正在使用WebBrowser控件,用户将与该控件进行交互,因此解决方案将需要使用可见的WebBrowser控件. 问题 如何检查元素小时候是否有锚点?所有浏览器都能够区分元素包含锚点(
12 2024-04-21
编程技术问答社区
Selenium'的GetAttribute方法的并发症
我最近尝试使用硒RC的 getAttribute 方法,但立即遇到了挑战.我试图执行一个非常简单的selenium.GetAttribute("//a/@href"),但是该代码带有消息"错误:无法找到元素属性://a/@href" . 通过代替selenium.GetText("//a[@href]")代替 getAttribute 呼叫,我确认肯定存在元素,因为该语句正确地返回了链接的文本. 我尝试了: 指向带有不同协议的其他网页(file:///vs http://) - 相同的问题. 使用指向不同属性的不同XPath定位器 - 相同的问题. 使用DOM定位器selenium.GetAttribute("document.getElementsByTagName('a')[0].getAttribute('href')") - 相同的问题;错误消息略有不同(并且错误消息缺少最终括号):"错误:element document.getElementsbytagname
10 2024-04-20
编程技术问答社区