我正在尝试执行此查询:
declare variable $doc as xs:string external;
declare namespace type4="http:///de/tudarmstadt/ukp/dkpro/core/api/segmentation/type.ecore";
fn:doc($doc)//type4:Lemma/@value
Run Code Online (Sandbox Code Playgroud)
在BaseX java驱动程序中.实际的代码段如下所示:
String queryString = "declare variable $doc as xs:string external; " +
"declare namespace type4=\"http:///de/tudarmstadt/ukp/dkpro/core/api/segmentation/type.ecore\"; " +
"fn:doc($doc)//type4:Lemma/@value";
Set<String> lemmata = new TreeSet<>();
try (ClientQuery query = this.clientSession.query(queryString))
{
query.bind("$doc", this.getUriFromDocumentId(documentId));
while (query.more())
{
String next = query.next();
logger.info(next);
lemmata.add(next);
}
return lemmata;
} catch (IOException e)
{
e.printStackTrace();
throw new QHException(e);
}
Run Code Online (Sandbox Code Playgroud)
我得到了这个例外:
[XPST0003] Unexpected end of query: 'namespace type4...'
Run Code Online (Sandbox Code Playgroud)
在打电话时query.more().
我声明命名空间错了吗?java代码中的转义引号是否有错误?我不明白xquery从何处获取查询结束.
命名空间也在我查询的xml文档中声明.
编辑:this.getUriFromDocumentId(String documentId)只是预先设置数据库名称,以便uri完成并实际匹配我想要查询的文档.在上面的代码片段执行之前,我检查说该文档存在.
根据这个响应,是否有一种方法(比如使用casperjs/phantomjs)在page.evaluate()上下文中添加我们的自定义函数?
例如,包含一个带辅助函数的文件x来调用Xpath函数:x('//a/@href')
有哪些主要区别?我找不到任何完整的文章.我知道只有一组功能已被扩展 - 例如日期,时间等.
我正在使用HtmlAgilityPack,我有以下情况:
<table class='table-main odds '>
<tbody>
<tr>..</tr>
<tr>..</tr>
<tr>..</tr>
<tr></tr>
<tr></tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
你可以看到tr里面只有三个内容,所以我希望在最终结果中应该只有前三个tr.实际上我的代码返回所有tr:
HtmlNode oddsTable = doc.DocumentNode
.SelectSingleNode("//table[starts-with(@class, 'table-main')]");
HtmlNodeCollection rows = oddsTable.SelectNodes("tbody//tr");
Run Code Online (Sandbox Code Playgroud)
我怎样才能实现这个目标xpath?
感谢您的帮助和解释.
我的网页上有两个具有相同类名的元素,并且我正在尝试访问第二个元素,但我无法做到这一点。
跨度看起来像这样:
<span class="REPORTING_DASHBOARDS__link navMenuLabel ">
Dashboards
</span>
Run Code Online (Sandbox Code Playgroud)
我这部分的代码如下所示:
dashboards_button = driver.find_element_by_css_selector(".REPORTING_DASHBOARDS__link.navMenuLabel")[1]
dashboards_button.click()
Run Code Online (Sandbox Code Playgroud) 我正在尝试通过webWhatsapp从聊天中打印我的消息之一。
我可以通过“控制台”选项卡中的Javascript完成此操作
recived_msg = document.getElementsByClassName('XELVh selectable-text invisible-space copyable-text') // returns an array of the chat
recived_msg[5].innerText // shows me the 4th message content
Run Code Online (Sandbox Code Playgroud)
问题是我试图在python上做同样的事情,但对我不起作用。
这是我尝试过的:
from selenium import webdriver
recived_msg = driver.find_element_by_class_name('XELVh selectable-text invisible-space copyable-text')
final = recived_msg[5].innerText #doesnt work for some reason
Run Code Online (Sandbox Code Playgroud)
我遇到的错误是:消息:无效的选择器:不允许使用复合类名
我对javascript有点陌生,所以很抱歉造成误会,并感谢您的帮助!:)
我需要访问看起来像一个表的东西的第一个单元格(但有点奇怪 - 第一列的DIV在结构上"高于"同一行上的其余单元格).
<div class="slick-viewport slick-viewport-top slick-viewport-left" tabindex="0" hidefocus="" style="overflow: auto; width: 100%; height: 513px;">
<div class="grid-canvas grid-canvas-top grid-canvas-left" tabindex="0" hidefocus="" style="height: 825px; width: 1336px;" unselectable="on">
<div class="ui-widget-content slick-row even lastClicked selected" role="row" row="0" style="top:0px;">
<div class="slick-cell l0 r0 uppercase selected" aria-describedby="inforDataGrid160360C1" tabindex="-1" role="gridcell"><span style="float: left;display:inline-block;height:1px;width:0px"></span><button type="button" class="tree-expand inforIconButton closed"><span></span></button><span>ABC</span></div>
<div class="slick-cell l1 r1 uppercase selected" aria-describedby="inforDataGrid160360C2" tabindex="-1" role="gridcell">DEF</div>
<div class="slick-cell l2 r2 uppercase selected" aria-describedby="inforDataGrid160360C3" tabindex="-1" role="gridcell">GHI</div>
</div>
<div class="ui-widget-content slick-row odd" role="row" row="1" style="top:25px;">
<div class="slick-cell l0 r0 …Run Code Online (Sandbox Code Playgroud) 本报网站在单独的<p>对象中列出了其文章的段落,其中每个<class>属性的名称以文章一词开头.
如何从tz2对象获取<class>属性以文章开头的所有段落?
require(rvest)
url = 'http://taz.de/Kongo-Kunst-im-Bruesseler-Afrikamuseum/!5563620/'
tz = read_html(url)
tz2 = tz %>%
xml_nodes(xpath = "//*[@class='sectbody']") %>%
xml_children()
Run Code Online (Sandbox Code Playgroud)
我的尝试:
# get one paragraph by class attribute
tz2 %>%
xml_nodes(xpath = "//p[@class='article first odd Initial']") %>%
xml_text()
# regex-like get all 'article' paragraphs
tz2 %>%
xml_nodes(xpath = "//p[@starts-with(@class, 'article')]") %>%
xml_text()
Run Code Online (Sandbox Code Playgroud) 我想这是一个永恒的问题,但我需要一些XPath表达式的帮助.使用Selenium搜索的HTML如下所示:
<div class="container">
<div class"row">
<div class="col-md-6 col-md-offset-3 jumbotron">
<div class="text-center">
<h1>Start a new To-Do list</h1>
<form method="POST" action="/lists/new">
<input name="item_text" id="id_new_item"
class="form-control input-lg"
placeholder="Enter a to-do item" />
<input type="hidden" name="csrfmiddlewaretoken" value="***********">
<div class="form-group has-error">
<span class="help-block">You can't have an empty list item</span>
</div>
</form>
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
Python中的搜索表达式如下所示:
self.wait_for(lambda: self.assertEqual(
self.browser.find_element_by_xpath(
"//span[contains(text(), 'You can't have an empty list item')]"
)
)
)
Run Code Online (Sandbox Code Playgroud)
这是在测试中运行的,即使显然存在,也无法找到文本.测试的ttaceback是:
ERROR: test_cannot_add_empty_list_items (functional_tests.test_list_item_validation.ItemValidationTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/eric/Git/TDD/functional_tests/test_list_item_validation.py", line 15, in …Run Code Online (Sandbox Code Playgroud) https://www.n11.com/telefon-ve-aksesuarlari/cep-telefonu-aksesuarlari
在此网站上,我试图单击(下一页按钮)
我想抓住这条线
<a href="https://www.n11.com/telefon-ve-aksesuarlari/cep-telefonu-aksesuarlari?pg=3" class="next navigation"></a>
Run Code Online (Sandbox Code Playgroud)
我在程序中编写此代码
data=driver.find_elements_by_class_name("next navigation")
Run Code Online (Sandbox Code Playgroud)
我的问题是关于这个问题。
xpath ×10
python ×3
selenium ×3
html ×2
xml ×2
basex ×1
c# ×1
html-parsing ×1
java ×1
javascript ×1
puppeteer ×1
python-3.x ×1
r ×1
rvest ×1
web-scraping ×1
webdriver ×1
xpath-1.0 ×1
xquery ×1