一尘不染

如何创建JavaScript执行器以使元素在Selenium WebDriver中可见

selenium

目前正在开发seleniumwebdriver。我有很多下拉菜单,例如可视化,期间,类型等。在下拉菜单中有许多选项。我想从下拉菜单中选择一个选项,我的目标是通过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>

阅读 263

收藏
2020-06-26

共1个答案

一尘不染

您可以尝试使用以下脚本使元素可见: 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");
2020-06-26