如何为 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?的主要内容,如果未能解决你的问题,请参考以下文章

来自数据库的 Extjs GridPanel 选择

如果选择了某些组合框项,则使文本块可见-MVVM

VBA 中的动态组合框项

WPF 根据 ObservableCollection<T> 项选择组合框项

如何为 ExtJS GridPanel 实现自定义行排序

如何为 IE 修复 ExtJS 范围的 CSS?