Html选择标记包含Id。我在相对路径中使用了id,并通过单击evaluate按钮在firepath中进行测试.firepath只返回一个匹配的节点,但是没有突出显示选择框。它明确表示选择框不会被处理。我试过很多方面并没有帮助我。请在下面找到html标签
<select id="myForm:operatingUnit" class="ef-combo-container" style="display:none;" name="myForm:operatingUnit">
<option value="-1">Please Select</option>
<option value="702">Industrial Casualty</option>
<option value="703">General Casualty</option>
<option value="704">Specialty Primary</option>
</select>
<input id="myForm:operatingUnit_input" class="combo-input ui-autocomplete-input" value="Please Select" autocomplete="off" role="textbox" aria-autocomplete="list" aria-haspopup="true" title="Please Select"/>
Please find the relative xpath on below:
//select[@id='myForm:operatingUnit']
我也使用了各种明确的等待声明,但没有努力克服这个问题。 请帮助我克服这个问题
答案 0 :(得分:1)
Select
如何显示?在HTML
代码中,我可以将css property
视为: -
style="display:none;"
由于此属性,元素不会显示在网页上。这是什么问题?
如果您删除此CSS
属性,该元素将显示在网页上,并使用您使用的xpath
突出显示该元素。
如果你想仍然与元素交互,你必须修改元素的css属性,下面是修改它的代码: -
WebElement element = driver.findElement(By.id("myForm:operatingUnit"));
((JavascriptExecutor)driver).executeScript("arguments[0].setAttribute('style', arguments[1]);", element, "display:unset;");
修改后,Select
会显示,然后您就可以与之互动了。