我正在尝试自动搜索框输入和选择。首先我在输入框中输入一个两个字符长度的搜索字符串,当它提示可能的搜索结果列表时,我需要读取每个项目并查找特定文本(部分)并单击我想要的那个。然后该项目将被视为搜索字符串并放入原始输入框。然后我按下另一个搜索框来启动搜索。这更像是我们的谷歌搜索。
当我在Firefox中使用Firebug插件时,我看到此代码被突出显示。当然,现在这里只有两个项目,但最多可以达到10个。
<div class="ac_results" style="display: block; position: absolute; width: 400px; top: 135px; left: 520px;">
<ul>
<li class="ac_even ac_over">
EURIBOR 3 MONTH FUT (
<strong>EB</strong> )
</li>
<li class="ac_odd">
EUR/GBP FUTURES (
<strong>EB</strong> P)
</li>
</ul>
&#13;
我需要能够迭代提示的列表项,知道他们的文本,选择具有匹配文本的文本,然后单击它。感谢您的帮助。
感谢您的帮助
答案 0 :(得分:0)
使用此Xpath。您将获得搜索结果列表。创建Web元素列表并迭代数组以进行验证。
//div[class="ac_results"]//ul//li
&#13;
答案 1 :(得分:0)
您不需要遍历每一个,以便能够选择您想要的那个。这是xpath的用途,因此您可以指定所需的元素。 在这种情况下:
driver.findElement(By.xpath("//div[@class='ac_results']/ul/li[contains(text(),'" + searchtext + "')]")).click();
其中searchtext
是EURIBOR 3月FUT或EUR / GBP FUTURES
xpath将是://div[@class='ac_results']/ul/li[contains(text(),'EURIBOR 3 MONTH FUT')]