如何使用java脚本执行器设置Web元素的文本?或者还有其他方法吗?
<a class="selectBox selectBox-dropdown selectBox-menuShowing selectBox-active" style="width: 52px; display: inline-block; -moz-user-select: none;" title="" tabindex="0">
<span class="selectBox-label" style="width: 13px;">10</span>
<span class="selectBox-arrow"/>
</a>
标签下有两个span元素 - 这是一个下拉列表。用户点击span [2]并显示一个列表,其中包含10,20,30,40等数据。用户点击数字(元素)并设置为span [1]的文本(在此案例,选择10)。我该如何解决这个问题?
我尝试了“动作”构建器,但它无效。还有其他建议吗?
答案 0 :(得分:5)
如果要直接更改span [1]的文本,可以使用以下代码:
String jScript = "var myList = document.getElementsByClassName(\"selectBox-label\");"
+"myList[0].innerHTML=\"YourNumber\";";
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript(jScript);
但是,您也可以使用java脚本单击该数字,如您所说,将设置span [1]的文本。示例如下:
WebElement element = driver.findElement(By.xpath("YourNumbersXpath"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);