вообще. Существует? Метод - ваш лучший выбор, чтобы увидеть, существует ли данный элемент. он возвращает истину или ложь ..
browser.cell (: id, 'attr-translation-col'). Существует?
= - = - = - = Изменить, чтобы отразить материал, изученный с помощью комментариев и некоторого результирующего исследования = - = - = - =
метод .cell реализован совершенно по-разному в Watir против Watir-Webdriver. Похоже, это не включено в документ о различиях между ними.
В Watir метод .cell определен в модуле Watir :: Container и возвращает объект tablecell . Это делает метод .cell доступным практически везде, где угодно, что унаследовано от Контейнер или включает его. Например, объект IE . Объект tablecell наследуется от класса Element и, таким образом, имеет доступ к большинству ожидаемых методов, таких как .exists?
В Watir-Webdriver метод .cell определен в Watir :: CellContainer . Этот модуль включен в Watir :: TableRow , что означает, что (если я правильно понимаю) метод .cell доступен только из объекта TableRow или чего-то, что включает TableRow или наследуется от него. Например, если вы просматриваете объект Watir-Webdriver Browser , вы не увидите в списке метод .cell . Как и Watir, объект tablecell наследуется от класса Element , и также должен иметь доступ к методу .exists? .
В отличие от .cell , методы Watir-Webdriver для .tr, .td, .th все определены в Watir :: Container ( в отличие от CellContainer) и, таким образом, являются высокодоступными и обычно работают.
Итак, что говорит мне этот анализ Rdoc для двух проектов, так это то, что если вы действительно можете получить в руки объект tablecell в Watir-webdriver, вы сможете вызывать .exists? метод, однако вы можете найти количество мест, которые вы можете использовать .cell, чтобы получить очень ограниченную табличную ячейку, так как немногие объекты поддерживают этот метод. Если вы видите ошибку о несуществующем методе, это может быть метод .cell, а НЕ .exists? метод (в отношении Watir-Webdriver)