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

时间:2018-01-20 06:22:48

标签: xpath css-selectors laravel-5.5 domcrawler

我有以下html选择元素,选择元素包含方括号的属性名称,需要使用domcrawler进行过滤但不幸的是,由于name属性中的方括号,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.

寻找合适的解决方案

谢谢

1 个答案:

答案 0 :(得分:1)

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

$converter->toXPath('select[name="result[our_school_dis]"]');