Symfony \ Component \ CssSelector \ Exception \ SyntaxErrorException cssselector 到 laravel 中的 xpath

问题描述 投票:0回答:1

我有以下html select元素,select元素的属性名称包含方括号,需要使用domcrawler进行过滤,但不幸的是,CssSelectorConvertor()无法将cssselector转换为xpath,因为名称属性中有方括号。

另一个页面的HTML代码:

<select name="get_result[our_school_dis]">
    <option value="a">Result 1</value>
</select>

laravel 控制器中的代码:

$crawler = $client->request('GET', 'http://anotherpage.com/abc');
$converter = new CssSelectorConverter();
$converter->toXPath('select[name=result[our_school_dis]]');

它抛出错误:

Symfony \ Component \ CssSelector \ Exception \ SyntaxErrorException
Expected "]", but <delimiter "[" at 22> found.

寻找合适的解决方案

laravel-5 xpath css-selectors domcrawler
1个回答
1
投票

对于包含特殊字符的属性值,请在 CSS 选择器中使用引号:

$converter->toXPath('select[name="result[our_school_dis]"]');
© www.soinside.com 2019 - 2024. All rights reserved.