selenium - 如何使用硒读取画布元素属性值?
问题描述
我想读取画布元素值(“Answer:5015”),但属性值不存在。你能告诉我如何读取属性值吗?
应用网址:https ://the-internet.herokuapp.com/challenging_dom#edit
解决方案
此代码使用 Java 和 Edge 浏览器有效:
System.setProperty("webdriver.edge.driver", "msedgedriver.exe");
WebDriver driver = new EdgeDriver();
driver.get("https://the-internet.herokuapp.com/challenging_dom#edit");
String answer = new String();
ArrayList<WebElement>scripts = new ArrayList<WebElement>((ArrayList<WebElement>) driver.findElements(By.tagName("script")));
for(int i = 0; i < scripts.size(); i++) {
String focusText = scripts.get(i).getAttribute("innerHTML");
if(focusText.contains("canvas.strokeText")) {
answer = focusText.substring(focusText.indexOf("Answer"), focusText.indexOf("',"));
break;
}
}
System.out.println(answer);
推荐阅读
- python - 使用我创建的代码进行操作时,该值从第二个值输出为“X-1”
- python - 如何使用 to_sql 将数据框存储在 sql server 数据库中?
- c# - C# 将动态 JSON JToken 解析为列表
- jointjs - 为什么路径不随矩形缩放?
- swift - 带视频的 SCNPlane 在模拟器上播放,但在设备上不播放
- flutter - Flutter TlsException:信任内置根失败
- flask - 使用 filepond 删除上传的文件
- android - Android Studio - 流式广播应用程序不起作用
- scala - Spark提交在纱线集群模式下截断参数
- javascript - 将两个排序后的数组合二为一,并在 javaScript 中对其进行排序。但是 sort() 不起作用