У меня есть таблица на моей странице, которая должна содержать определенный элемент. Я могу идентифицировать таблицу по ее имени (у нее уникальное имя), а также легко могу идентифицировать элемент. Я хочу заявить, что элемент присутствует в строке r
, столбце c
таблицы. Каков самый чистый способ сделать это с помощью команд Selenium?
< STRONG> Примечание:
- Я не хочу использовать больше, чем имя таблицы, чтобы найти ее (мне не нужны все
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']
), изображением или чем-то более сложным?
Мне нужно утверждать, что элемент , указанный локатором этого элемента, находится в данной ячейке.
2 ответа
Похоже, вы хотите isElementPresent(...locator of element...)
. Например:
$cell = "//table[@name='tableName']//tr[".$r."]/td[".$c."]";
$foundLink = $this->isElementPresent("xpath=".$cell."/a[.='".linktext."']");
$foundButton = $this->isElementPresent("xpath=".$cell."/button[@type='button']");
$foundImage = $this->isElementPresent("xpath=".$cell."/img[ends-with(@src='pretty-pony.gif')]");
isElementPresent()
возвращает true
, если это так, false
в противном случае.
Вы можете попробовать Selenium getXpathCount
$ this -> ("xpath = // table [@ name = 'tableName'] // tr [". $ r. "] // td [". $ c. "] // ТЕГ ");
Это вернет количество совпадений, полученных xpath. в вашем случае ноль будет означать неудачу.
Похожие вопросы
Новые вопросы
php
PHP - это широко используемый высокоуровневый, динамический, объектно-ориентированный и интерпретируемый язык сценариев, в первую очередь предназначенный для серверной веб-разработки. Используется для вопросов о языке PHP.