gpt4 book ai didi

xpath - 从Ext JS应用程序识别xpath

转载 作者:行者123 更新时间:2023-12-03 16:15:49 26 4
gpt4 key购买 nike

我正在尝试自动化Ext Js中设计的应用程序,xpath标识变得复杂。在以下情况下,请帮助获取xpath

对于具有一组名称的下拉菜单,需要从可用列表中选择一个名称。

我正在使用鼠标操作来找到下拉名称,然后在当前菜单列表中找到moveToElement特定元素。

例如,如果菜单包含名称列表,例如AbiAshwini AshaAshwiniDiva

使用参数化,我可以从菜单中选择名称。

但是当我需要从菜单中选择Ashwini时,由于菜单中已经存在Ashwini Asha,因此单击了Ashwini Asha对象。

contains()在这里不起作用。我应该使用哪个功能?

以下是正在使用的代码:

html:

<div id="combo-1023-inputWrap" class="x-form-text-wrap x-form-  text-wrap-default" role="presentation" data-ref="inputWrap">
<input id="combo-1023-inputEl" class="x-form-field x-form-text x-form-text-default " type="text" autocomplete="off" aria-autocomplete="list" aria-expanded="false" aria-haspopup="true" aria-required="false" aria-invalid="false" aria-readonly="false" aria-disabled="false" aria-hidden="false" role="combobox" value="Triton" name="selectedName" size="1" data-ref="inputEl" data-componentid="combo-1023">

......

<li>------------ Ashwini Asha</li>
<li>------------ Ashwini</li>
</div>


点击菜单:

action.moveToElement(driver.findElement(By.xpath("//input[@name='selectedName']"))).click().perform();


将数据加载到菜单中:

wait.until(ExpectedConditions.visibiltyOfElementLocated(By.xpath("//li[contains(text(),'"+NameParameter+"')]")));


单击对象:

action.moveToElement(driver.findElement(By.xpath("//li[contains(text(),'"+NameParameter+"')]"))).click().perform();


让我知道如何单独选择名称 Ashwini

谢谢

最佳答案

无需在xpath中使用包含。寻找名称的完全匹配。

 By.xpath("//li[text()='"+NameParameter+"']") 


要么

 By.xpath("//li[.='"+NameParameter+"']")

关于xpath - 从Ext JS应用程序识别xpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38903551/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com