1

ExtJS ドロップダウンで要素のリストを見つけようとしています。私にはうまくいきませんが、stackoverflowで良い解決策を見つけました。

C# での解決策:

 public void ClickComboItem(IWebElement input, string target)
        {
            input.Click();
            IList<IWebElement> comboItems = _driver.FindElements(By.XPath("//*[contains(@class, 'x-combo-list') and contains(@style, 'visibility: hidden;')]//*[contains(@class, 'x-combo-list-item')]"));
            comboItems.First(item => item.Text.Trim() == target).Click();
        }

ここから。

自動化する必要がある部分は次のようになります。

<div class="x-ie-shadow" id="ext-gen546" style="z-index: 12004; filter: progid:DXImageTransform.Microsoft.alpha(opacity=50) progid:DXImageTransform.Microsoft.Blur(pixelradius=4); WIDTH: 351px; display: none; height: 301px; top: 186px; left: 1187px;"/>
<div class="x-layer x-combo-list " id="ext-gen544" style="z-index: 12005; position: absolute; width: 350px; height: 302px; visibility: hidden; font-size: 12px; top: -10000px; left: 0px;">
<div class="x-combo-list-inner" id="ext-gen545" style="width: 348px; height: 300px; overflow: auto;">
<div class="x-combo-list-item" _nodup="30813" viewIndex="0">
<div class="x-combo-list-item" _nodup="30813" viewIndex="1">

ポインターの実際のクリックが実行され、ページにドロップダウン リストが表示されますが、comboItem は「0」の結果を返します。上記の投稿の例と構造が非常に似ているとすぐに、うまくいくはずですが、私のケースでは xPath を正しく調整する必要があると思います。

4

3 に答える 3

0

親ノードのいずれかの安定した ID を使用して実装してみてください。基本的には xpath 軸の概念を使用します。

于 2014-09-30T20:14:38.637 に答える