如何将现有WebMent添加到另一个WebMent Selenium Java
我想将一些现有的如何将现有WebMent添加到另一个WebMent Selenium Java,java,selenium-webdriver,Java,Selenium Webdriver,我想将一些现有的WebElement附加到另一个WebElement示例: 我用下面的代码得到了一个web元素 WebElement reviewList = driver.findElement(By.id("review-list")); 我得到了一个容器,使用如下: WebElement reviewSection = driver.findElement(By.id("reviews")); 现在我想将reviewList附加到reviewSection中。 我没有找到任何办法在谷
WebElement
附加到另一个WebElement
示例: 我用下面的代码得到了一个web元素
WebElement reviewList = driver.findElement(By.id("review-list"));
我得到了一个容器,使用如下:
WebElement reviewSection = driver.findElement(By.id("reviews"));
现在我想将reviewList附加到reviewSection中。我没有找到任何办法在谷歌上搜索 有人能给我一些想法/链接如何实现这一点吗 我还使用javascript进行了如下尝试:
//get the html
String reviewHtml = reviewSection.getAttribute("innerHTML");
JavascriptExecutor jsx = (JavascriptExecutor) driver;
jsx.executeScript("document.getElementById('review-list').getElementById('reviews').innerHTML='" + reviewHtml + "';");
但这也给了我一些错误org.openqa.selenium.JavascriptException:SyntaxError:“”字符串文字包含未转换的换行符
请尝试以下操作:
jsx.executeScript("document.getElementById('review-list').getElementById('reviews').innerHTML= arguments[0];", reviewHtml);
请你澄清一下你的网页结构好吗 元素是什么
WebElement reviewList = driver.findElement(By.id("review-list"));
容器里有什么
WebElement reviewSection = driver.findElement(By.id("reviews"));
如果是,您可以使用以下方法:
WebElement reviewSection = driver.findElement(By.id("reviews"));
List<WebElement> reviewList = reviewSection.findElements(By.id("review-list"))
WebElement reviewSection=driver.findElement(By.id(“reviews”);
List reviewList=reviewSection.findElements(By.id(“审阅列表”))
您将获得评论列表,因此在下一步中,您可以使用循环或流来获取文本。您看错了方向-您无法使用Selenium API来操纵浏览器页面的DOM。selenium API只能从页面的“外部”读取当前页面的DOM,或者像浏览器中的用户一样引起与它的交互。要实际操作页面的DOM,您需要使用作为同一页面的一部分加载的Javascript——“页面内部”——来操作它。像JQuery这样的库可能会有所帮助。如果您可以共享HTML块,这将非常好,它可以让您知道您到底想要实现什么。