首先,下面的代码适用于非浏览器的应用程序(我使用perl和selenium进行extjs测试):
http://seleniumexamples.com/blog/examples/select-an-option-from-an-extjs-combobox/
遗憾的是,如果我敢于添加可见性条件,则xpath库会提供零xpath计数。页面内容发生了变化,所以首先我有一个组合框项目列表(我可以点击),然后有两个列表。当我解决第二个列表时,第一个列表项被点击(它们具有相同的内容,没有区分ID)。使用last()没有帮助。
我尝试了大量不同的xpath但无法从extjs中的第二个组合框中选择一个项目。 selenium会返回正确的html源代码,但我无法访问第二个组合框。如果我先打开第二个组合,那么我就无法在第一个组合中选择项目。
在某个时刻,我希望这会奏效:
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."']";
}
但它没有...
答案 0 :(得分:0)
您可以尝试使用css选择器而不是xpath,本指南可能会提供您所需的内容。 http://saucelabs.com/blog/index.php/2010/01/selenium-totw-css-selectors-in-selenium-demystified/