Symfony \ Component \ CssSelector \ Exception \ SyntaxErrorException cssselector to xpath in laravel
Symfony \ Component \ CssSelector \ Exception \ SyntaxErrorException cssselector to xpath in laravel
我有以下 html select 元素,select 元素的属性名称包含方括号,需要使用 domcrawler 进行过滤,但不幸的是,CssSelectorConvertor() 无法转换 cssselect 或 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.
寻找合适的解决方案
谢谢
对于包含特殊字符的属性值,请在 CSS 选择器中使用引号:
$converter->toXPath('select[name="result[our_school_dis]"]');
我有以下 html select 元素,select 元素的属性名称包含方括号,需要使用 domcrawler 进行过滤,但不幸的是,CssSelectorConvertor() 无法转换 cssselect 或 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.
寻找合适的解决方案
谢谢
对于包含特殊字符的属性值,请在 CSS 选择器中使用引号:
$converter->toXPath('select[name="result[our_school_dis]"]');