如何创建javascript执行器以使元素在selenium webdriver中可见

时间:2013-12-04 09:07:00

标签: javascript jquery html selenium selenium-webdriver

目前正在研究selenium webdriver。我有很多可视化,周期,类型等下拉菜单。在下拉列表中有很多选项。我想从下拉列表中选择一个选项,我的目标是通过ID查找元素。

但是在HTML标记中,元素不可见以选择该选项。我验证了很多问题,因为他们提到使用javascript exceutor。

任何人都可以帮我一下html标签的java脚本:

<select id="periodId" name="period" style="display: none;">
<option value="l4w">Last 4 Weeks</option>
<option value="l52w">Last 52 Weeks</option>
<option value="daterange">Date Range</option>
<option value="weekrange">Week Range</option>
<option selected="" value="monthrange">Month Range</option>
<option value="yeartodate">Year To Date</option>
</select>

1 个答案:

答案 0 :(得分:4)

您可以尝试使用以下脚本使元素可见:document.getElementById('periodId').style.display='block';

在java代码中,可以使用以下代码执行此脚本:

JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("document.getElementById('periodId').style.display='block';");

如果您只想在下拉列表中选择一个选项,则可以使用以下java代码:

Select select = new Select(driver.findElement(By.id("periodId")));
select.deselectAll();
select.selectByVisibleText("Last 4 Weeks");