python - 如何使用 Xpath 或 CSS 提取特定的 <li> 元素?

标签 python css xpath scrapy web-crawler

如何提取范围内的信息,这些信息又在 li 中找到?

<div class="col-md-offer-content">
 <ul class="params-list">
  <li>
   <ul class="main-list">
    <li>Preço 
       <span><strong>350 €</strong></span> 6 €/m²</li>
    <li>Área útil (m²) 
       <span><strong>60 m²</strong></span></li>
    <li>Tipologia 
       <span><strong>T1</strong></span></li>
   </ul>

我写了这段代码:r

esponse.xpath ('// ul [@ class = "mainlist"] / li [span = "T1"] / text ()'). Extract () 

输出是:['Typology']

但在我的例子中,我希望它返回 T1,所以我这样做了:

response.xpath ('// ul [@ class = "main-list"] / span [li = "Tipology"] / text ()') .extract ()

但它没有返回任何东西……我做错了什么?有什么建议吗?

最佳答案

你也许可以这样做:

esponse.xpath ('// ul [@ class = "mainlist"] / [span="T1"] / text ()'). Extract () 

//ul[@id='mainlist']//li[3]//span

如果你给跨度添加一个类

<div class="col-md-offer-content">
 <ul class="params-list">
  <li>
   <ul class="main-list">
    <li>Preço 
       <span><strong>350 €</strong></span> 6 €/m²</li>
    <li>Área útil (m²) 
       <span><strong>60 m²</strong></span></li>
    <li>Tipologia 
       <span class="thisSpan"><strong>T1</strong></span></li>
   </ul>

然后像这样使用 xpath:

esponse.xpath ('// ul [@ class = "mainlist"] / span[@class="thisSpan"] / text ()'). Extract () 

在 CSS 中:driver.findElement(By.cssSelector("ul#mainlist span.thisSpan"));

关于python - 如何使用 Xpath 或 CSS 提取特定的 <li> 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50971988/

相关文章:

python - 如何将 selenium 独立 docker 容器与主机网络正确链接?

javascript - 基本的 Javascript 数学文本字段

xpath - CSS选择器是否等效于此嵌套或嵌入式XPath?

Python。创建一个函数来递归测试一个单词是否是回文

python - 为什么 timedeltas 不能在 NumPy 中进行乘法/除法?

Python Regex 匹配和排除某些内容

html - contentEditable DIV 上的框大小以隐藏第一个和最后一个字符

jquery - 当 child 悬停时,悬停事件会触发两次

visual-studio-2010 - Web.config 转换 - 缺少的手册

java - 错误 : java. lang.ClassCastException : org. jsoup.nodes.Document 无法转换为 org.w3c.dom.Node