gpt4 book ai didi

ios - 我无法解析IOS驱动程序页面源

转载 作者:行者123 更新时间:2023-12-01 18:06:57 25 4
gpt4 key购买 nike

我使用了页面源

String pageSource = driver.getPageSource();

现在,我需要将此xml文件保存到本地缓存中。因此,我需要获取元素属性(例如x和y属性值),而不是每次都使用 element.getAttribute("x");。但是我无法将pageSource xml文件解析为某些特殊字符。我不能删除此字符,因为如果我需要元素值/文本,则在删除特殊字符时会显示不同的文本。 Appium的使用方法与此相同。

最佳答案

我也面临着同样的问题,我使用下面编写的代码获得了解析,并且工作正常

public static void removeEscapeCharacter(File xmlFile) {

String pattern = "(\\\"([^=])*\\\")";
String contentBuilder = null;
try {
contentBuilder = Files.toString(xmlFile, Charsets.UTF_8);
} catch (IOException e1) {
e1.printStackTrace();
}
if (contentBuilder == null)
return;
Pattern pattern2 = Pattern.compile(pattern);
Matcher matcher = pattern2.matcher(contentBuilder);
StrBuilder sb = new StrBuilder(contentBuilder);

while (matcher.find()) {

String str = matcher.group(1).substring(1, matcher.group(1).length() - 1);
try {
sb = sb.replaceFirst(StrMatcher.stringMatcher(str),
StringEscapeUtils.escapeXml(str));
} catch (Exception e) {
e.printStackTrace();
}
}

try {
Writer output = null;
output = new BufferedWriter(new FileWriter(xmlFile, false));

output.write(sb.toString());
output.close();

} catch (IOException e) {
e.printStackTrace();
}
}

如果您遇到此类问题,请删除特殊字符以重新捕获它。
    try {
doc = db.parse(fileContent);
} catch (Exception e) {
removeEscapeCharacter(file);

doc = db.parse(file);
}

它可能适合您。

关于ios - 我无法解析IOS驱动程序页面源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40303142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com