Подтвердить что ты не робот

Селен не может найти элемент SVG в XPath

У меня есть следующий HTML:

<div id="imageholder>
    <svg>
        <g> <image href='blah.gif'> </g>
    </svg>
</div>

И я не могу найти svg с селеной IDE на firefox вообще. Я пробовал:

//svg
//svg:svg
//*[name()='svg']
//*[namespace-uri()='http://www.w3.org/2000/svg']

Ни один из них не может найти мой элемент svg. Иногда я получаю сообщение об ошибке:

error = TypeError: e.scrollIntoView is not a function

Я использую это как средство для использования локатора в тестировании JUnit 4. Если это помогает.

4b9b3361

Ответ 1

Попробуйте выполнить следующее выражение XPath:

//*[local-name() = 'svg']

(работает хотя бы с консоли Chrome/FireBug, еще не пробовал с Selenium)

Ответ 2

Вопрос о xPath, но если вы можете использовать CSS Selectors, это было бы более читаемым, например (Java).

WebElement image = driver.findElement(By.cssSelector("#imageholder > svg > g > image"));

Ответ 3

Для идентификатора X-Path попробуйте использовать -

//div[@id='imageholder']/svg/g/img

Хотя я бы рекомендовал CSS вместо этого (более читаемый и более простой в построении):

css=img