基本上,我在一个页面上有多个丢弃。如果我点击编辑图标,下拉就会启用。如果我点击其他下拉菜单,第一个下拉列表会被禁用,第二个下拉列表会启用。 我试图通过下拉的可见性找到xpath。就像我的xpath对于所有下拉列表都是常见的,但它应该在启用下拉可见性的基础上选择值。
禁用HTML:
<select class="tabledit-input form-control fc-alt" style="display: none;" name="idLoc" disabled="">
启用HTML:
<select class="tabledit-input form-control fc-alt" style="" name="idLoc">
我试过的Mycode:
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("my_xpath']")));
每次,我的xpath选择第一个drop(禁用),但是如果我通过可见性找到它,它会找到启用的下拉值,我将解决我的问题。
如果有澄清,请告诉我。
答案 0 :(得分:-1)
您可以尝试使用以下XPath
:
//select[@style='display: block;']
匹配可见 select
。或
//select[@style='display: none;']
匹配不可见
但是,由于DOM中存在这两个元素,您最好只使用正确的预期条件,在这种情况下为visibilityOfElementLocated
:
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("my_xpath'")));
上面的代码应该允许您获取当前可见的select
元素
如果元素具有disabled
属性,则可以使用
select
//select[@disabled]
并启用
//select[not(@disabled)]