如何为 extjs 应用程序选择组合框项 Internet Explorer?
Posted
技术标签:
【中文标题】如何为 extjs 应用程序选择组合框项 Internet Explorer?【英文标题】:how to select combobox item internet explorer for extjs application? 【发布时间】:2010-09-07 15:35:31 【问题描述】:首先,下面的代码适用于我的非 ie 浏览器应用程序(我使用 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."']";
但它没有......
【问题讨论】:
【参考方案1】:您可以尝试使用 css 选择器而不是 xpath,本指南可能有您需要的内容。 http://saucelabs.com/blog/index.php/2010/01/selenium-totw-css-selectors-in-selenium-demystified/
【讨论】:
以上是关于如何为 extjs 应用程序选择组合框项 Internet Explorer?的主要内容,如果未能解决你的问题,请参考以下文章