假设我的网页中有以下代码片段:
<p
> 这是一些文字</p
>
我希望 WebDriver 在该文本中选择“某些”,就像用户选择它一样。我应该怎么做?我知道如何获得<p
>-元素:
WebElement editable = getDriver().findElement(By.id("someId"));
editable = editable.findElement(By.tagName("p"));
System.out.println(p.getText());
println 打印“这是一些文本”。
我尝试向元素发送密钥,这曾经可以工作(在 selenium 2.0b 中),但我现在使用 selenium 2.6.0,它停止工作:
editable.sendKeys(Keys.chord(Keys.SHIFT, Keys.LEFT));
有人有想法吗?我正在使用 FirefoxDriver。
我使用 Javascript 在 Firefox 上做过一次。基本上我使用 Firefox 中的范围对象来选择文本。根据您要选择的内容更改开始和结束范围索引。这在 IE 中不起作用,因为选择范围在 IE 中在概念上是不同的。我手头没有 IE 代码,但既然你担心 FF,你可以尝试一下。
如果您对 IE 文本范围感兴趣,请告诉我。
String script = "var range = document.createRange();" +
"var start = document.getElementById('idofthedivthatcontainstext');" +
"var textNode = start.getElementsByTagName('p')[0].firstChild;" +
"range.setStart(textNode, 8);" +
"range.setEnd(textNode, 13);" +
"window.getSelection().addRange(range);";
((JavascriptExecutor)driver).executeScript(script);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)