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 を正しく調整する必要があると思います。