Я не могу найти Xpath псевдо комментария - PullRequest
0 голосов
/ 20 мая 2019

Я просто хочу знать, как получить псевдоэлемент Xpath. На самом деле дело в том, что в этом я хочу .CLick () для этого Div. Его роль - это кнопка Is.элемент, но не нажимая, я должен нажать на это :: после, но я не могу получить Xpath, потому что это псевдоэлемент

<div id=":l6" class="T-I J-J5-Ji amD T-I-awG T-I-ax7 T-I-Js-Gs L3" 
              role="button" tabindex="0" 
              data-tooltip="Older" 
              aria-label="Older" 
              style="user-select: none;" 
              xpath="1">

  <span class="amF" 
        aria-hidden="true">
     &nbsp;
  </span>
  <img class="amJ T-I-J3" 
       src="images/cleardot.gif" alt="">
::after
</div>

1 Ответ

0 голосов
/ 20 мая 2019

Что я прочитал «Selenium API не поддерживает псевдоэлементы» .

Так что вы можете использовать попытку, используя Actions.

У меня естьпример (у меня нет полного пути, который вы можете добавить) здесь с помощью CssSelector:

Actions action = new Actions(Session.Driver);
action.MoveToElement(FindElement(By.CssSelector("div.img::after"))).ContextClick().Build().Perform();

В качестве крайней меры вы можете использовать JavaScript с ExecuteScript примерно так:

var afterElem = driver.FindElement(By.CssSelector("div.img"));

var buttonAfter = driver.ExecuteScript(
    "return window.getComputedStyle(arguments[0],'::after');"
    , afterElem);
buttonAfter.click();

Вам нужно будет поиграть с CssSelector или использовать XPath.

Надеюсь, это вам поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...