Прежде всего приведенный ниже код работает для моего приложения для браузеров, не являющихся браузерами (я использую perl с селеном для тестирования extjs):
http://seleniumexamples.com/blog/examples/select-an-option-from-an-extjs-combobox/
к сожалению, библиотека xpath дает нольxpath count, если я осмелюсь добавить условие видимости.Содержание страницы меняется, поэтому сначала у меня есть один список элементов комбинированного списка (по нему можно щелкнуть), а затем есть два списка.Когда я обращаюсь ко второму списку, первый элемент списка щелкается (они имеют одинаковое содержимое и не имеют отличительного идентификатора).Использование last () не помогло.
Я пробовал миллионы различных путей, но не смог выбрать элемент из второго списка в extjs.Селен действительно возвращает правильный источник HTML, но я не могу добраться до 2-го списка.Если я сначала открою второе комбо, то не смогу выбрать элементы в первом.
В определенный момент у меня была надежда, что это сработает:
if($comboindex==1)
{
$locator="//div[contains(\@class, 'x-combo-list')]/descendant::div[contains(\@class, 'x-combo-list-item')][text()='".$combovalue."']";
}
else
{
$locator="//div[contains(\@class, 'x-combo-list')]/following::div[contains(\@class, 'x-combo-list-item')][text()='".$combovalue."']";
}
но это не сработало ...