如果你想要的只是文本,你可以在右边的元素上使用.getText()
。
WebDriver driver = new FirefoxDriver();
driver.get("http://connectatgrace.org/im-new/what-to-expect");
String text = driver.findElement(By.id("main")).getText().trim();
编辑
我现在你在找什么了解。我能够使它与下面的代码一起工作。
基本上,代码将鼠标移动到包含所有所需文本的元素的右下角,<div id="content full-width">
。单击并按住鼠标按钮,移动到元素的左上角,然后CTRL+C
。我也验证了正确的文本进入剪贴板。
WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.get("http://connectatgrace.org/im-new/what-to-expect");
WebElement content = driver.findElement(By.id("content full-width"));
Actions builder = new Actions(driver);
builder.moveToElement(content, 0, 0).clickAndHold().moveToElement(content,
content.getSize().getWidth(), content1.getSize().getHeight()).release();
builder.build().perform();
content.sendKeys(Keys.chord(Keys.CONTROL, "c"));
System.out.println("CLICKED");
注:如果您使用moveToElement()
,它移动到该元素的中心。这就是为什么有由2
EDIT 2
后OP注意到,我有一个错字,我回去做在.moveToElement()
方法的一些研究的代码来获取宽度/高度和鸿沟。从文档,
moveToElement(WebElement toElement)
移动鼠标到元件的中间。
moveToElement(WebElement toElement,INT X偏移,INT Y偏移)
移动鼠标到从元件的左上角偏移。
所以校正使用.moveToElement(e, 0, 0)
启动选择在元件的左上角的代码,然后使用.moveToElement(content, content.getSize().getWidth(), content1.getSize().getHeight())
移动选择到右下角。这应该现在正确工作。
因此,您拿走了我的代码,修正了一个错字,并将其作为您的拥有并接受它?嗯 – JeffC