WebDriver: Найти/кликнуть псевдоэлемент ::before

webdriver
Теги: #<Tag:0x00007fedc4537168>

(Derom) #1
<div class="bla-bla-div">
	<span class="bla-bla__button"></span>
	<span class="bla-bla__link"> ::before </span>
</div>

Проблема в том, что у спана bla-bla__link высота и ширина 0, а иконка зашита в content псевдоэлемента, соответственно нажимать надо на псевдоэлемент.
На эту тему нашлось только это https://groups.google.com/forum/#!topic/selenium-users/ZUi9cenA13o

Есть какие-то способы найти/кликнуть нужный элемент или просить менять верстку?


(Vladyslav Lopatynskyi) #2

Кликнуть можно javascript'oм

JavascriptExecutor js=(JavascriptExecutor) driver;
js.executeScript("arguments[0].click()", WebElement)

Просить менять верстку уже наверное на усмотрение ответственного за юзабилити


(Stan) #3

Или

(JavascriptExecutor(webdriver)).executeScript("document.getElementsByClassName('bla-bla__link').click();")