简单 HTML Dom 无法访问第 3 级 DIV 元素

Simple HTML Dom Can't access 3rd level DIV element

我正在尝试使用第三个 DIV 的 data-gamename="1x2" 属性来显示值 2.11,以下代码来自原始来源。

<div class="games">==[=13=] 
  <div class="wrap"> 
<div class="outcome" onclick="addBet(this)" id="outcome-225162629" data-gameid="61158022" data-outcomeid="225162629" data-gamename="1X2" data-eventname="Benevento Calcio - Carpi FC" data-eventcodeid="137" data-gamename="1X2">2.11</div>

从上面的代码中,如果我想检索它的值,它会工作得很好,如果我想从它检索值,它也会工作得很好,并使第二个 div 在第一个 div 其中的第二个 div 里面有另一个叫做我的问题从这里开始如果我想从中检索数据让我们说它会像魅力一样工作但是如果我改变属性让我们说像在上面的例子是行不通的,它只是没有显示任何我尝试解决的问题,但没有运气,正如上面的代码一样,任何人都可以帮助我哪里错了吗?

这是检索值的代码

<?php 
include('simple_html_dom.php'); 
$html = file_get_html('yoururl'); 
foreach($html->find('div=[data-gamename="1X2"]') as $a){
echo $a->plaintext; 
echo nl2br('\n'); 
} 
?>

知道哪里错了吗?

我看到 3 个问题,第一个 css 是错误的,那里有一个额外的 =。其次,simple_html_dom 是旧的并且不完全支持 css。对于性能更好的库,我建议 this one。第三,你为什么叫你的div$a?真让人费解。

include('advanced_html_dom.php'); 
$html = file_get_html('https://sport.premierbet.com/tz/sport/1/#'); 
foreach($html->find('div[data-gamename="1X2"]') as $div){
  echo $div->plaintext; 
  echo nl2br('\n'); 
}