2015-12-29 2 views
1

Использование Selenium WebDriver при поиске элемента в HTML, почему XPaths считается медленнее, чем селектор CSS? Обычно я использую XPaths и динамические XPath.Почему XPaths считаются медленными, чем селектор CSS?

Может ли кто-либо логически объяснить меня подробно?

+1

http://elementalselenium.com/tips/32-xpath-vs-css –

+0

Считается, что (в общем) они медленнее. Это было особенно актуально в ** старых ** версиях ** Internet Explorer **, но теперь разница не так актуальна. Иногда XPath работает довольно быстро. См. Http://elementalselenium.com/img/chart-chrome.png (Chrome 32 - 2014), http://elementalselenium.com/img/chart-firefox.png (Firefox 26 - 2014), http: // elementalselenium .com/img/chart-ie10.png (IE 10 - 2012), http://elementalselenium.com/img/chart-ie9.png (IE 9 - 2011), http://elementalselenium.com/img/chart -ie8.png (IE 8 - 2009). –

+0

http://stackoverflow.com/a/14139380/2504101 – olyv

ответ

0

Хотя это невозможно точно ответить, за исключением конкретных тестовых случаев, может быть, общий ответ может помочь. CSS - довольно ограниченный (хотя и более выразительный, с более новыми версиями CSS) язык выражений, который позволяет легко оптимизировать оценку селекторов CSS. XPath, с другой стороны, является обобщенным и сложным языком выражений, который позволяет гораздо больше выбора, чем CSS, и, следовательно, сложнее оптимизировать. Поэтому, хотя теоретически для эквивалентных выражений XPath/CSS отлично оптимизирующий механизм XPath должен иметь такую ​​же производительность, как и механизм CSS, на практике во многих случаях оптимизация XPath будет оптимальной, и, следовательно, CSS будет быстрее.