下面是测试应用程序中某个月份下拉列表的 HTML。
<div class="dd ddcommon form-control respstyled-select-monthAC ng-isolate-scope borderRadius" id="month2_msdd" tabindex="0" style="z-index: 1;">
<div class="ddTitle borderRadiusTp"><span class="divider"></span><span class="ddArrow arrowoff" id="month2_arrow"></span>
<span class="ddTitleText " id="month2_title"><span class="ddlabel">month</span><span class="description" style="display: none;"></span></span></div><input type="text" id="month2_titleText" autocomplete="off" class="text shadow borderRadius" style="display: none;">
<div class="ddChild ddchild_ border shadow" id="month2_child" style="z-index: 1; display: none; position: absolute; max-height: 288px; top: 28px;">
<ul><li class="enabled _msddli_ selected"><span class="ddlabel">month</span><div class="clear"></div></li>
<li class="enabled _msddli_"><span class="ddlabel">January</span><div class="clear"></div></li>
<li class="enabled _msddli_"><span class="ddlabel">February</span><div class="clear"></div></li>
<li class="enabled _msddli_"><span class="ddlabel">March</span><div class="clear"></div></li>
<li class="enabled _msddli_"><span class="ddlabel">April</span><div class="clear"></div></li>
<li class="enabled _msddli_"><span class="ddlabel">May</span><div class="clear"></div></li>
<li class="enabled _msddli_"><span class="ddlabel">June</span><div class="clear"></div></li>
<li class="enabled _msddli_"><span class="ddlabel">July</span><div class="clear"></div></li>
<li class="enabled _msddli_"><span class="ddlabel">August</span><div class="clear"></div></li>
<li class="enabled _msddli_"><span class="ddlabel">September</span><div class="clear"></div></li>
<li class="enabled _msddli_"><span class="ddlabel">October</span><div class="clear"></div></li>
<li class="enabled _msddli_"><span class="ddlabel">November</span><div class="clear"></div></li>
<li class="enabled _msddli_"><span class="ddlabel">December</span><div class="clear"></div></li></ul></div></div>
我使用以下脚本从下拉列表中选择一月选项:
driver.findElement(By.xpath(//*[@id="month2_arrow"])).click();
driver.findElement(By.xpath(//div[@id='month2_child']/ul/li[2]/span)).click();
此代码将单击两次以从月份下拉列表中选择一月选项。在 Selenium Webdriver 2.47 之前,此代码工作正常。当我将selenium升级到2.50时,这两个步骤都执行成功,但该选项未选中。
最佳答案
Selenium 提供了一个接口(interface)作为 javascriptexecutor
。
你可以这样做:-
WebElement element= driver.findElement("YOUR Locator"));
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", element);
希望对你有帮助:)
关于java - Firefox V2.50.0 的 Webdriver 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35218419/