javascript - 如何使用 Selenium WebDriver 和 Java 从元素中检索文本

标签 javascript java selenium selenium-webdriver css-selectors

我正在尝试使用 == $0 检索元素的文本。我尝试使用 JS 注入(inject) ((JavascriptExecutor) driver).executeScript("return arguments[0].value", driver.findElement(By.cssSelector("div.settings span"))) 但是这种方法对我返回 NULL enter image description here

最佳答案

由于文本ShootingPedestrian Accident 位于文本节点 的元素内,因此要提取文本,您可以使用以下解决方案:

WebElement myElement = driver.findElement(By.cssSelector("div.settings")); 
//extracting Shooting
System.out.println(((JavascriptExecutor)driver).executeScript("return arguments[0].firstChild.textContent;", myElement).toString());
//extracting Pedestrian Accident
System.out.println(((JavascriptExecutor)driver).executeScript("return arguments[0].lastChild.textContent;", myElement).toString());

关于javascript - 如何使用 Selenium WebDriver 和 Java 从元素中检索文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55699041/

相关文章:

java - 为什么我在两个相同的查询之间得到相同的结果?

selenium - 需要降级 Protractor 的 chromedriver 以匹配早期的 Chrome 版本

python - 如何修复 Selenium WebDriverException : "The browser appears to have exited"

javascript - 使用 Jquery 显示来自 Ajax 响应的数据

javascript - 基于单选按钮显示隐藏 div 和脚本

javascript - ScrollTop 的 Shopify javascript/jQuery 条件不起作用

java - 有没有办法判断连接是否因超时或线程死亡而退出?

java - vaadin中的文件上传和下载

java - isDisplayed 对于特定元素始终返回 false

javascript - 为什么 array[i].charAt(0).toUpperCase() 不会传递给 array[i][0]