gpt4 book ai didi

selenium - 如何使用 webdriver 操作用户选择的文本?

转载 作者:行者123 更新时间:2023-12-05 00:37:02 24 4
gpt4 key购买 nike

假设我的网页中有以下代码段:

<p> This is some text </p>



我希望 WebDriver 在本文中选择“一些”,就好像用户选择了它一样。我该怎么做?我知道如何获取 <p >-元素:
WebElement editable = getDriver().findElement(By.id("someId"));
editable = editable.findElement(By.tagName("p"));
System.out.println(p.getText());

println 打印“这是一些文本”。

我尝试将 key 发送到元素,并且曾经可以工作(在 selenium 2.0b 中),但我现在使用的是 selenium 2.6.0,但它停止工作:
editable.sendKeys(Keys.chord(Keys.SHIFT, Keys.LEFT));

有没有人有想法?我正在使用 FirefoxDriver。

最佳答案

我使用 Javascript 为 Firefox 做过一次。基本上我在 Firefox 中使用 range 对象来选择文本。根据您要选择的内容更改开始和结束范围索引。这在 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);

关于selenium - 如何使用 webdriver 操作用户选择的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7516383/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com