我正在尝试访问前一个兄弟的属性,但这证明很难。
所以基本上我试图抓取的网页是可怕的,锚标签使用蹩脚的onclick而不是href。愚蠢,我知道。我正在尝试首先使用window.open('servletLinkJunkHere...')
找到包含onclick的锚标记,然后移至上一个兄弟img
标记,并从中提取src
属性。
<IMG SRC="images/warning.gif" ALT="blah blah blah" STYLE="position:relative;top:2px;cursor:help;">
<a href="#" onclick="javascript:window.open('servletLinkJunkHere...')>
这是我正在尝试使用的xpath:
$url_pre = 'a[onclick*="'servletLinkJunkHere...'"]/preceding-sibling::img/@src';
关于如何实现这一目标的任何想法?我知道这是可能的,我只是不完全精通xpath查询。还有,有什么好的资源可以学习xpath的所有角落和缝隙吗?谢谢!
编辑:所以这就是我所拥有的但它似乎没有返回任何东西,只是一个空数组。$url_email = "EditNotificationInfoServlet?cb=on&id=" . $id . "&sessionId=1";
$url_pre = "a[contains(@onclick,'" . $url_email . "')]/preceding-sibling::IMG/@SRC";
$final_text = $crawler->filterXPath($url_pre)->each(function($crawler, $i) {
return $crawler->text();
});
答案 0 :(得分:2)
我认为您需要使用以下xpath:
{{1}}