Selenium: Как мне утверждать, что определенный элемент присутствует в определенной ячейке определенной таблицы?

У меня на странице есть таблица, которая должна содержать определенный элемент. Я могу идентифицировать таблицу по ее имени (она имеет уникальное имя), а также могу легко идентифицировать элемент. Я хотел бы утверждать, что элемент присутствует в строке r, столбце c таблицы. Какой самый чистый способ сделать это с помощью команд Selenium?

Замечания:

  • Я не хочу использовать больше, чем название таблицы, чтобы найти ее (я не хочу, чтобы в коде присутствовали все div\div\table\div\tbody\td\tr[r]\td[c]).
  • Я использую Selenium в PHPUnit. Следовательно, я могу использовать PHP-логику для этой задачи, хотя для такой простой задачи мне не нужна сложная логика.

Разъяснение:

Если элемент в ячейке - простой текст, то я могу получить этот текст следующим образом:

$this->getText("xpath=//table[@name='tableName']//tr[".$r."]//td[".$c."]"); (PHP)

Но что, если в ячейке есть элемент, который не является простым текстом? Что если элемент является ссылкой (link=anchor) или кнопкой (//button[@type='button']) или изображением или чем-то более сложным?

Я должен утверждать, что элемент, указанный локатором этого элемента, находится в данной ячейке.

6
задан Brian Tompsett - 汤莱恩 13 July 2017 в 16:42
поделиться