2015-04-17 5 views
1

Я довольно новичок в Selenium для C#. Я хочу щелкнуть элемент между тегом <svg> (изображение ниже). Я попытался следующие:Selenium C# - Невозможно щелкнуть элемент с помощью xlink: атрибут href

driver.FindElement(By.XPath("//use[@href='#events-widget']")).Click(); 
driver.FindElement(By.XPath("//use[@href='#events-widget'/]")).Click(); 
driver.FindElement(By.XPath("//use[@xlink:href='#events-widget']")).Click(); 
driver.FindElement(By.XPath("//use[@xlink:href='#events-widget']/")).Click(); 
driver.FindElement(By.LinkText("Events")).Click(); 

enter image description here

Помощь будут оценены :)

+0

Является ли FindElement возвратом IWebElement? –

+0

Да, он возвращает IWebElement – Shashank

+0

Иногда вам нужно дважды щелкнуть, потому что в первый раз нужно только сфокусировать управление. Другими словами, вы должны повторить линию дважды. – Fjodr

ответ

0

Я не использую Selenium из C#, но из Nightwatchjs. Мы используем <svg> для иконок и я выбираю <use xlink:href="/svg-icons/sprite.stack.svg#sort-ascending"></use> элемент с этим селектором CSS:

'использовать [* | HREF = "/ SVG-иконки/sprite.stack.svg # сортировки по возрастанию"]

Я бы предположил, что это также работает с C#.

Смежные вопросы