【问题标题】:How can i select text from one document using selenium webdriver如何使用 selenium webdriver 从一个文档中选择文本
【发布时间】:2014-07-08 15:42:38
【问题描述】:

假设我有一个文档,那么我如何使用SeleniumWebDriver 从该文档中选择文本

我输入了以下代码:

d1.findElementByClassName("odd").click();
Thread.sleep(5000);
d1.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);
WebElement el = d1.findElement(By.id("doc-content"));
Actions act = new Actions(d1);
act.clickAndHold(el).build().perform();
act.release().perform();
act.doubleClick(el).build().perform();
act.clickAndHold(el).build().perform();
WebElement el1 = d1.findElement(By.id("doc-data"));
act.moveToElement(el1, 50, 50).build().perform();
act.dragAndDropBy(el, 100, 150).build().perform();
act.release().build().perform();

【问题讨论】:

  • 在标题中显示“选择文本”,在问题正文中显示“突出显示”。选择文本和突出显示文本不一定是相同的操作。您问题中的代码是否应该进行选择?如果是,那么它是如何失败的?有什么事吗。什么都没有发生?它崩溃了吗?导致错误信息?此外,有时问题是是否使用本地事件。本机事件支持会根据您使用的 Selenium 版本以及使用的浏览器和浏览器版本而有所不同。那么它们是什么?
  • 以上代码将在我的浏览器中选择空白区域。我使用 Chrome 浏览器版本 32.0.1700.102。硒版本是 2.39.0。

标签: java text selenium highlight


【解决方案1】:

如果我理解正确,您想突出显示找到的元素,您可以尝试运行 js 来更改该元素的样式:

WebElement element = driver.FindElement(By.Id('someId'));
((JavascriptExecutor) driver).executeScript("arguments[0].style.backgroundColor='yellow';", element);

或者改变字体颜色:

((JavascriptExecutor) driver).executeScript("arguments[0].style.color='yellow';", element);

【讨论】:

  • arguments[0]
  • 你有什么例子吗?你能详细说明一下吗?
  • 在回答第一个示例中,您找到了 WebElement(元素),然后将其传递给 executeScript 并通过 arguments[0] 使用它,其中 arguments[0] 是您在 executeScript 中传递的元素
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-28
  • 1970-01-01
  • 2014-07-02
  • 2012-07-09
  • 1970-01-01
相关资源
最近更新 更多