0

我正在尝试使用简单的 dom 按名称获取元素

这是抓取一个旧网站,他们只使用名称

<select name="id_items_1" required="">
    <option value="">Seleccione su talla</option>
    <option value="231085" data-talla="36" data-stock="3">36</option>
    <option value="231086" data-talla="37" data-stock="1">37</option>
</select>

我试过了,但它返回null:

include('simple_html_dom.php');
$html = str_get_html($url);
$elem = $html->find('div[name=id_items_1]', 0);
var_dump($elem);

有没有办法用简单的dom做到这一点?

4

2 回答 2

1

您需要先调用file_get_contents以获取远程 url 的 html,然后用于select[name=id_items_1] option查找您的选择器:

include('simple_html_dom.php');
$html = str_get_html(file_get_contents($url));
$elem = $html->find('select[name=id_items_1] option', 0);
var_dump($elem);
于 2016-07-19T03:55:15.340 回答
1

您必须更改file_get_html并添加http://到 url

include('simple_html_dom.php'); 
$url="http://platanitos.com/Platanitos-ZC-LUCY-161-Negro-49272";; 
$html = file_get_html($url); 
$elem = $html->find('select[name=id_items_1]', 0)->innertext; 
var_dump($elem);
于 2016-07-19T04:03:59.410 回答