使用javascript设置Web元素的文本-Selenium Web驱动程序 [英] Using javascript to set text for a web element - Selenium Web driver

查看:171
本文介绍了使用javascript设置Web元素的文本-Selenium Web驱动程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用Java脚本执行程序设置Web元素的文本?还是有其他方法可以做到这一点?

How can text of a web element be set using java script executor? Or is there any other way to do this?

<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).我应该如何解决这个问题?

There are two span elements under the tag - which is a drop down. User clicks on span[2] and a list is shown which contains data like 10, 20, 30, 40, etc.. User clicks on the number(element) and that is set as the text of span[1] (In this case, 10 is selected). How should I go about solving this?

我尝试了操作生成器,但无法正常工作.还有其他建议吗?

I tried Action builder and it is not working. Any others suggestions?

推荐答案

如果要直接更改span [1]的文本,可以使用以下代码:

If you want to change the text of span[1] directly, you may use following code:

String jScript = "var myList = document.getElementsByClassName(\"selectBox-label\");"
    +"myList[0].innerHTML=\"YourNumber\";"; 
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript(jScript);

但是,您也可以使用Java脚本单击该数字,正如您所说的那样,它将设置span [1]的文本.下面的示例:

However, you may also click the number using java script which as you say will set the text of span[1]. Example below:

WebElement element = driver.findElement(By.xpath("YourNumbersXpath"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);

这篇关于使用javascript设置Web元素的文本-Selenium Web驱动程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆