查找下一个兄弟的 XPath python

Find XPath of next sibling python

这是网页上某个元素的 outhtml

<td valign="top">
                            <script type="text/javascript">sjcap();</script><p><input type="text" id="uword" name="uword" class="" size="20"></p><p><img src="/wps/PA_1_ATAGT15208O2F02M34340U0000/./cimg/31.jpg" width="290" height="80" alt=""></p>
                            </td>

我正在尝试为图像构建 xpath 并使用 HTMLSession 提取 src 属性 requests_html 这是我的 xpath,但这与元素 //input[@id='uword']/following-sibling::p 不匹配 我检查了元素并尝试使用 Ctrl + F 查找 xpath 但我得到了 0 个结果

也许您要复制完整的 xpath?它不同于仅仅复制 xpath。如果这是您想要的,它将采用 /html 格式。右键单击该元素并改为复制完整的 xpath

您问题中的 html 格式不正确 xml(<input><img> 元素未闭合)。其次,包含 <img> 子元素的 <p> 元素不是 <input> 标签的同级元素,而是该标签的 <p> 父元素的兄弟元素。假设 html 固定如下:

<td valign="top">
  <script type="text/javascript">sjcap();</script>
  <p>
    <input type="text" id="uword" name="uword" class="" size="20"/>
  </p>
  <p>
    <img src="/wps/PA_1_ATAGT15208O2F02M34340U0000/./cimg/31.jpg" width="290" height="80" alt=""/>
  </p>
</td>

下面的xpath

//p[./input[@id="uword"]]/following-sibling::p/img/@src

//p/input[@id="uword"]/../following-sibling::p/img/@src

应该输出

/wps/PA_1_ATAGT15208O2F02M34340U0000/./cimg/31.jpg