xpath 相关问题

XPath的主要目的是解决XML文档的各个部分。它还提供操纵弦乐,数字和布尔值的基本设施。 XPath使用紧凑的非XML语法。 XPath在XML文档的抽象逻辑结构上运行,而不是表面语法。

使用 XSoup 解析查询时出错

我正在尝试使用 xsoup 解析 html 页面。 这是我的代码: 文档 doc = Jsoup.connect("http://appsvr.mardelplata.gob.ar/Consultas07/OrdenesDeCompra/OC/index.asp?fmANIO_CON=2015&

回答 1 投票 0

如何使用 selenium 单击 V 形以获取“更多结果”?

我正在使用 Selenium 抓取网页来搜索结果。这工作正常,我确实得到了我想要的结果,但不是所有结果,只有数百个结果中的十二个。 为了获得额外的结果,我必须...

回答 0 投票 0

如何在 pyspark dataframe 中使用 xpath 从 xml 文档获取嵌套 xml 结构作为字符串?

我有一个数据框,其中包含带有 XML 字符串的字符串数据类型列。现在我想使用原始列的嵌套 XML 结构创建一个新列。为此,我尝试在 PySpark 中使用 XPath。 S...

回答 1 投票 0

在scrape上查找xpath元素文本[关闭]

需要一些帮助来获取在执行抓取时保存电子邮件地址的锚点的内容(文本)。我已经尝试过 //*[@id="panel"]/p[2]/span[2]/a 但我的问题是并不总是跨度

回答 1 投票 0

Imposter - xPath 对于捕获无效?

文档有这个例子: - 路径:“/用户” 方法:POST 捕获: 宠物名称: xPath: "/env:信封/env:身体/宠物:动物/宠物:名称" 商店:测试商店

回答 1 投票 0

使用rvest抓取h之后的所有p? (或其他 R 包)

我是 html 抓取领域的新手,并且在使用 R 中的 rvest 提取特定标题下的段落时遇到困难。 我想从多个网站上抓取信息,这些网站都有相对的...

回答 1 投票 0

xpath 查询不返回数据

我试图弄清楚如何从网页上的特定 div 获取属性,但我的查询没有返回任何内容。我假设我的查询是错误的。 我正在尝试获取数据原始网址

回答 2 投票 0

在Python中使用XPath计算节点的最有效方法

在Python中,如何使用XPath计算节点数? 例如,使用此网页和此代码: 从 lxml 导入 html、etree 导入请求 url =“http://intelligencesquaredus.org/debates/past-

回答 1 投票 0

R、Xpath、刮擦

我想使用 Xpath 引用和 R 抓取一个网站。 我对此很陌生,但据我所知,我编写了以下代码,, 一个<- "http://www.strompreis.elcom.admin.ch/ShowCat.aspx?placeNu...

回答 2 投票 0

Selenium 在 XPath 中找不到 SVG 元素

我有以下 HTML: 我有以下 HTML: <div id="imageholder> <svg> <g> <image href='blah.gif'> </g> </svg> </div> 我似乎根本无法在 Firefox 上找到带有 selenium IDE 的 svg。我试过了: //svg //svg:svg //*[name()='svg'] //*[namespace-uri()='http://www.w3.org/2000/svg'] 他们都无法找到我的 svg 元素。有时我会收到错误: error = TypeError: e.scrollIntoView is not a function 如果有帮助的话,我将其用作在 JUnit 4 测试中使用定位器的方法。 尝试以下 XPath 表达式: //*[local-name() = 'svg'] (至少可以在 Chrome/FireBug 控制台上使用,尚未尝试使用 Selenium) 问题是关于xPath的,但是如果你可以使用CSS选择器,那会更具可读性,就像这样(Java)。 WebElement image = driver.findElement(By.cssSelector("#imageholder > svg > g > image")); 解决方法我使用,不需要修改文档的命名空间或放弃使用XPath:传递一个自定义的namespaceresolver,它的行为比默认值更理智和正确 document.evaluate( './_:g[3]/_:circle', // Example: select the <circle> element inside the 3rd <g> MY_SVG_ELEMENT, (prefix) => prefix === '_' ? context.namespaceURI : document.lookupNamespaceURI(prefix), XPathResult.FIRST_ORDERED_NODE_TYPE );

回答 3 投票 0

使用 Xpath 表达式获取结果以在 Java 代码中使用

我不确定为什么我没有收到下图中 xpath 表达式的结果。我正在尝试选择 标签来执行 Selenium Java 测试脚本中的测试步骤。我有...

回答 1 投票 0

在<h2><div>内刮

在这段代码上抓取 h2 时遇到了一些麻烦: 只是在刮擦此代码上的 h2 时遇到一些麻烦: <div id="content"> <div class="title-wrapper"> <article class="article"> <figure> <a title="Ölüm Denizi" href="http://trfilmizle.com/olum-denizi.html"> <img class="small-poster" alt="Ölüm Denizi" src="http://i706.photobucket.com/albums/ww64/ddizi/TRfilmizle/OumlluumlmDenizi_zpsc809f300.jpg~original"> </a> </figure> <div class="article-container"> <h2> <a title="Ölüm Denizi" href="http://trfilmizle.com/olum-denizi.html">Ölüm Denizi</a> </h2> <div class="article-info"> <div class="description"> Kuzey Kore, Güney Kore ve Çin arasına sıkışmış Yanji kentinde geçen Ölüm Denizi, araba kovalamacaları, cinayetler ve bıçaklı kavgalarla dolu… </div> </div> 有什么想法吗?我可以通过以下方式访问节点: //article[@class='article']/text() 但是,拿不到h2!有什么建议吗? 这应该获取 h2s: 中 div 元素下方的所有文本组件 //div/h2//*/text() 更具体地说,您可以将其限制为特定的div: //div[@class='article-container']/h2//*/text() 使用这个preg_match_all() <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <?php $source= '<div id="content"> <div class="title-wrapper"> <article class="article"> <figure> <a title="Ölüm Denizi" href="http://trfilmizle.com/olum-denizi.html"> <img class="small-poster" alt="Ölüm Denizi" src="http://i706.photobucket.com/albums/ww64/ddizi/TRfilmizle/OumlluumlmDenizi_zpsc809f300.jpg~original"> </a> </figure> <div class="article-container"> <h2> <a title="Ölüm Denizi" href="http://trfilmizle.com/olum-denizi.html">Ölüm Denizi</a> </h2> <div class="article-info"> <div class="description"> Kuzey Kore, Güney Kore ve Çin arasına sıkışmış Yanji kentinde geçen Ölüm Denizi, araba kovalamacaları, cinayetler ve bıçaklı kavgalarla dolu… </div> </div>'; preg_match_all('#<h2>(.*?)</h2>#is', $source, $output, PREG_PATTERN_ORDER); print_r($output[1][0]); exit;

回答 2 投票 0

带有数字函数的 XPath 1.0 谓词与 XSLT 输入中的所有非零值不匹配

我正在使用 xsltproc 命令并使用 number() 函数从谓词获得意外的输出。通过再现器来解释是最简单的。 复制者: 输入 我正在使用 xsltproc 命令并使用 number() 函数从谓词获取意外输出。通过再现器来解释是最简单的。 复制者: 输入 <top> <constraint> <lifetime> <rule id="rule1" original="1"/> <rule id="rule2" original="1"/> </lifetime> </constraint> <constraint> <lifetime> <rule id="rule3" original="1"/> <rule id="rule4" original="1"/> </lifetime> </constraint> </top> 样式表 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:strip-space elements="*"/> <xsl:output encoding="UTF-8" indent="yes" omit-xml-declaration="yes"/> <xsl:template match="/|@*|node()" name="identity"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="top"> <xsl:for-each select="constraint/lifetime/rule[number(@original)]"> <item> <xsl:copy-of select="."/> </item> </xsl:for-each> </xsl:template> </xsl:stylesheet> 实际产量 <item> <rule id="rule1" original="1"/> </item><item> <rule id="rule3" original="1"/> </item> 预期产量 <item> <rule id="rule1" original="1"/> </item><item> <rule id="rule2" original="1"/> </item><item> <rule id="rule3" original="1"/> </item><item> <rule id="rule4" original="1"/> </item> 如果我从 number(@original) 更改为 number(@original) = 1 或 @original = '1',我会得到预期的结果。如果我在 if 中使用 for-each 而不是使用 XPath 谓词,我也会得到预期的结果: <xsl:for-each select="constraint/lifetime/rule"> <xsl:if test="number(@original)"> <item> <xsl:copy-of select="."/> </item> </xsl:if> </xsl:for-each> number(@original) 始终在您的情况下返回 1。 IE。 XPath constraint/lifetime/rule[number(@original)] 表示 constraint/lifetime/rule[1],即元素 rule 中的第一个元素 lifetime。 如果你想检查@original是数字,那么你需要使用这个条件: constraint/lifetime/rule[number(@original) = @original] 或者 constraint/lifetime/rule[string(number(@original)) != 'NaN']

回答 1 投票 0

Scrapy:表中链接的 xpath

我想使用scrapy从此表中提取一些书籍链接。 该表如下所示: 我想使用 scrapy 从此表中提取一些书籍链接。 表格看起来像这样: <table id="table_text"> <tbody> <tr > <td>15/02/2014</td> <td><a href="/book_1.html">Book 1</a></td> <td>The Author</td> <td> <a href="/tag1">tag1</a> <a href="/tag2">tag2</a> </td> <td>Genre</td> </tr> 提取的链接应该是: /book_1.html 我使用的选择器是 def parse(self, response): hxs = Selector(response) hxs = Selector(response) links = hxs.xpath('//table[@id="table_text"]//tr//td[2]//a//@href') 但是 print links 显示空输出:[] 我想知道我使用的xpath有什么问题吗? 根据您提供的信息,您的 XPath 工作正常。它可以简化为 //table[@id="table_text"]//tr/td[2]/a/@href 但是您的版本返回正确的节点。 当 scrapy 遇到意外行为时,请尝试始终检查它收到的 HTML 是否是您期望的 HTML。 使用浏览器和 scrapy 检索的 HTML 可能会有所不同,因为 scrapy 不处理 Javascript(并且某些浏览器会尝试清理 HTML)。 这就是为什么你应该检查response.body的内容是否是你所期望的。如果不是,您需要找到解决方法:) 2014年2月15日

回答 1 投票 0

如何获取正确的XPath?

我是 XML 路径语言的新手。我想要的是使用一个工具来获取 XPath 以在脚本中使用来抓取内容。 例如: 在 http://econpy.pythonanywhere.com/ex/001.html 我想...

回答 1 投票 0

R-高级网页抓取-使用 xmlTreeParse() 绕过 aspNetHidden

这个问题需要一点时间来介绍,请耐心等待。如果你能到达那里,解决这个问题将会很有趣。该抓取将使用循环复制到该网站上的数千个页面。 我是

回答 1 投票 0

如何在同一循环和行中获取Tag内部文本和属性值HtmlAgilityPack C#

以下是我正在处理的 HTML; (C# 项目) ` 以下是我正在处理的 HTML; (C# 项目) </TR> <TR> `<TD ALIGN="center"> <INPUT TYPE="checkbox" NAME="f0" VALUE="14652 4-76-17-7-2024-R" ONCLICK=uncheck("f0")> &nbsp;</TD> <TD>&nbsp;</TD> <TD>76/07-17</TD> <TD>14652</TD> <TD>&nbsp;</TD> <TD>9.3</TD> <TD> 78 </TD> <TD>&nbsp;</TD> <TD>&nbsp;</TH> </TR> 我可以通过循环获取 tr[td] 内部文本。 但在同一个循环中,我无法访问“输入”属性(名称/值)以将值提取为数组以维护数据完整性。 HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); doc.LoadHtml(page); foreach (var row in doc.DocumentNode.SelectNodes("//tr[td]")) //textBox5.Text { table.Rows.Add(row.SelectNodes("td").Select(td => td.InnerText).ToArray()); string namee1 = row.InnerText; //These works but without the attribute details. string Code_num = row.SelectSingleNode("//td//input").Attributes["value"].Value; // this gives only the first value without looping. MessageBox.Show(namee); } Code_num - 仅给我第一个值,而不循环遍历文档。 属性不选择,我只得到空引用。我对 linq 不太熟悉。如果可能的话,更喜欢 xpath 的帮助。 感谢您的帮助!提前致谢 期望输出如下; 第 1 列 / 第 2 列 / 第 3 列 / 第 4 列 / 第 5 列 / 第 6 列 / 第 7 列 / 第 8 列 / 第 9 列 / 第 10 列 / 第 11 列 / /76/07-17/14652/ /9.3/ 78 / /  /F0 / 14652 4-76-17-7-2024-R 预期输出 以下内容对我有用!由于早期值不完整,因此空引用阻塞了我的代码。 希望这对某人有帮助!! foreach (var row in doc.DocumentNode.SelectNodes("//tr[td]")) { string pos = "0"; pos = row.SelectSingleNode("td//input")?.Attributes["name"].Value; string injid = row.SelectSingleNode("td//input")?.Attributes["value"].Value; table.Rows.Add((row.SelectNodes("td").Select(td => td.InnerText).ToArray())); if (string.IsNullOrEmpty(pos)) { } else { int ronum = table.Rows.Count - 1; DataRow dr = table.Rows[ronum]; dr[9] = pos; } if (string.IsNullOrEmpty(injid)) { } else { int ronum = table.Rows.Count - 1; DataRow dr = table.Rows[ronum]; dr[10] = injid; } }

回答 1 投票 0

使用包含软连字符的文本进行 XPath 搜索

/div[包含(text(),"逆变器")] 这是我们当前使用 xpath 映射 selenium 中的一些对象的代码。现在的问题是,他们现在将软连字符引入到他们的...

回答 1 投票 0

在 Python 中使用 etree.XPath 并使用联合运算符“|”时如何修复“XPath 语法错误:无效表达式”

我正在尝试在 Python 中使用 etree.XPath 编译 XPath 表达式,但遇到语法错误。这是代码片段: XPATH = '//桥域/(桥域组名称|桥域...

回答 1 投票 0

如何在 C++ 的 libxml2 中注册默认 NS?

问题:为 XPath 上下文注册默认 NS 的正确方法是什么? 我已经浏览了很多关于注册 NS 的帖子(主要是非 C++ 和 Google 搜索),但我找不到任何内容......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.