WebDriver:当我单击firepath中的evaluate按钮时,相对Xpath不突出显示选择框

时间:2016-08-02 15:36:04

标签: selenium xpath drop-down-menu webdriver firepath

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']

我也使用了各种明确的等待声明,但没有努力克服这个问题。 请帮助我克服这个问题

1 个答案:

答案 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会显示,然后您就可以与之互动了。