gpt4 book ai didi

java - 使用 Java Selenium,如何使用 unicode 值选择此元素?

转载 作者:行者123 更新时间:2023-11-30 06:05:52 27 4
gpt4 key购买 nike

我正在使用 Java 和 Selenium 进行测试。

我正在尝试单击关闭按钮,该按钮具有以下 unicode 字符:\ue01d

该元素上的 OuterHTML 如下所示:

<input class="form-control btn btn-clear" style="font-family: MapIcons; 
padding: 0px;" value="" type="button">

我想尝试使用以下方法选择它:

String className = "form-control btn btn-clear";
String htmlElement = "input";
String textToFind=""; // this should be unicode: \ue01d

List<WebElement> elements = Common.findElementsUsingHtmlXpathClass(driver, htmlElement, className);

Common.myPrint(thisClass + " elements count: " + elements.size());
for (WebElement element : elements) {
String text = element.getAttribute("value");
if (text != null) {
if (text != "") {
text = text.trim();
if(text.contains(textToFind)) {
return Common.scrollIntoView(element, driver);
}
}
}
}
return false;

我想知道应该在 textToFind 中输入什么内容。系统无法识别它所发明的方形字符。它不能准确地复制和粘贴此元素。

请注意:此值 \ue01d 不是字符串,而是 Unicode 值!

最佳答案

由于您知道字符的 unicode 值,因此您可以检查该值是否在字符串中,如下所示:

String s = "some string";
if (s.contains("unicode value")) { // for example '\ue01d'
System.out.println("Contains!");
} else {
System.out.println("Not contains");
}

在你的情况下,它会是这样的:

String className = "form-control btn btn-clear";
String htmlElement = "input";
String textToFind="\\ue01d"; // unicode value

List<WebElement> elements = Common.findElementsUsingHtmlXpathClass(driver, htmlElement, className);

Common.myPrint(thisClass + " elements count: " + elements.size());
for (WebElement element : elements) {
String text = element.getAttribute("value");
if (text != null) {
if (text != "") {
text = text.trim();
if(text.contains(textToFind)) {
return Common.scrollIntoView(element, driver);
}
}
}
}
return false;

关于java - 使用 Java Selenium,如何使用 unicode 值选择此元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51364502/

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