![Фотография](https://secure.gravatar.com/avatar/f783d95fe75cf7a704cc0e4fd822c378?s=100&d=https%3A%2F%2Fsoftware-testing.ru%2Fforum%2Fpublic%2Fstyle_images%2Fmaster%2Fprofile%2Fdefault_large.png)
поддержка SVG
Автор maresha, 11 апр 2012 03:06
Сообщений в теме: 4
#1
Отправлено 11 апреля 2012 - 03:06
старшие братья, подскажите, пожалуйста, как научить selenium видеть svg элементы?
#3
Отправлено 11 апреля 2012 - 14:45
да, логично, просто только что нашла вот такую вещь: http://www.qaautomation.net/?p=388, где сказано, что следует "specify your xpath with the namespace uri like this instead:
//*[local-name()='svg' and namespace-uri()='http://www.w3.org/2000/svg']", но познаний не хватает понять, куда именно надо сие следует добавить, чтобы адская машина таки заработала)
//*[local-name()='svg' and namespace-uri()='http://www.w3.org/2000/svg']", но познаний не хватает понять, куда именно надо сие следует добавить, чтобы адская машина таки заработала)
#4
Отправлено 13 апреля 2012 - 10:07
да, логично, просто только что нашла вот такую вещь: http://www.qaautomation.net/?p=388, где сказано, что следует "specify your xpath with the namespace uri like this instead:
//*[local-name()='svg' and namespace-uri()='http://www.w3.org/2000/svg']", но познаний не хватает понять, куда именно надо сие следует добавить, чтобы адская машина таки заработала)
В общем-то, в приведённой вами статье неплохо расписывается, как указывать элементы на странице для WebDriver'а, в том числе и SVG.
//*[local-name()='svg' and namespace-uri()='http://www.w3.org/2000/svg']- эта штука вставляется в xpath, с помощью которого вы будете искать элементы внутри SVG.
Если приведёте пример вашей страницы HTML с SVG, то смогу написать конкретный xpath к какому-нибудь элементу.
Я бы переписал жизнь, но Бог не дает мне исходники
#5
Отправлено 13 апреля 2012 - 12:33
Возможно я вселил в вас напрасную надежду. Похоже всё-таки, что WebDriver не умеет полноценно работать с SVG. Провёл следующий тест:
Так вот, клик по элементу не работает, вебдрайвер падает:
public class SvgTest { public static void main(String[] args) { WebDriver driver = TestDriver.getWebDriver(); driver.get("http://referencewebapp.qaautomation.net/svg.php"); WebElement element = driver.findElement(By.xpath("//*[local-name()='svg' and namespace-uri()='http://www.w3.org/2000/svg']/*[local-name()='g' and namespace-uri()='http://www.w3.org/2000/svg'][4]/*[local-name()='g' and namespace-uri()='http://www.w3.org/2000/svg'][7]/*[local-name()='text' and namespace-uri()='http://www.w3.org/2000/svg']")); System.out.println(element.getText()); element.click(); } }
Так вот, клик по элементу не работает, вебдрайвер падает:
WebDriverException: [JavaScript Error: "a.scrollIntoView is not a function"...Но текст из элемента извлекается успешно. Возможно вам это поможет.
Я бы переписал жизнь, но Бог не дает мне исходники
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных