作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
$html = new DOMDocument();
@$html->loadHtmlFile($url);
$xpath = new DOMXPath( $html );
//Query to pull all reviews on the page
$q="//div[starts-with(@id,empReview_)]/h3/meta[1]/@content";
$nodelist = $xpath->query($q);
foreach ($nodelist as $n){
echo $n->nodeValue;
echo"<br><br>";
}
我尝试在以下 XML 上运行的查询是:
<div id="empReview_2055942" class="employerReview" itemscope="" itemtype="http://schema.org/Review">
<h2 class="summary">
<h3 class="review-microdata-heading">
<span class="gdRatingStars"> </span>
Former
<span itemprop="author">IT Engineer Intern in Santa Clarita, CA</span>
<meta content="4" itemprop="reviewRating"/>
使用 Firepath 时它会直接转到元素,但不会通过我在 php 中的查询来回显该值。
任何帮助将不胜感激。
最佳答案
你的xpath查询错误,应该是:
$q="//div[starts-with(@id,empReview_)]/h2/h3/meta[1]/@content";
(您缺少“h2”)。您的代码应该如下所示...
$html = new DOMDocument();
$html->loadHtml('
<div id="empReview_2055942" class="employerReview" itemscope="" itemtype="http://schema.org/Review">
<h2 class="summary">
<h3 class="review-microdata-heading">
<span class="gdRatingStars"> </span>
Former
<span itemprop="author">IT Engineer Intern in Santa Clarita, CA</span>
<meta content="4" itemprop="reviewRating"/>
</h3> <!-- presumably your input has closing tags -->
</h2>
</div>
<div id="empReview_2055947" class="employerReview" itemscope="" itemtype="http://schema.org/Review">
<h2 class="summary">
<h3 class="review-microdata-heading">
<span class="gdRatingStars"> </span>
Former
<span itemprop="author">Some Other Random Thing</span>
<meta content="7" itemprop="reviewRating"/>
</h3>
</h2>
</div>
');
$xpath = new DOMXPath( $html );
//Query to pull all reviews on the page
$q="//div[starts-with(@id,empReview_)]/h2/h3/meta[1]/@content";
$nodelist = $xpath->query($q);
foreach ($nodelist as $n){
echo $n->nodeValue;
echo"<br><br>\n";
}
我得到以下输出:
4<br><br>
7<br><br>
关于php - Xpath 代码在 firepath 中有效,但在 php 脚本中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13282425/
我正在 selenium webdriver 中用 Java 编写自动化脚本。当我尝试注销主窗口屏幕时,我收到一个弹出窗口,该窗口不允许我转到主屏幕,除非我单击某些选项“离开页面”或“留在页面上”。我
$html = new DOMDocument(); @$html->loadHtmlFile($url); $xpath = new DOMXPath( $html
我有 Firefox 51.0.1 版和 Firebug 2.0.18 版(尽管它只是说“已停用”)。我一直在一遍又一遍地安装最新的 FirePath,但是当我单击 Firebug 图标时我没有看到它
org.openqa.selenium.InvalidSelectorException: invalid selector: Unable to locate an element with the
FirePath 返回 9 个匹配节点,而 List 返回 18 个元素。 OS: Win8 Pro, 64 bit Java: jdk1.8.0_77 Selenium: 3.4.0 (seleni
我是一名优秀的程序员,十分优秀!