gpt4 book ai didi

java - 无法通过 IfElse 语句定位 css 元素

转载 作者:行者123 更新时间:2023-12-02 02:25:37 24 4
gpt4 key购买 nike

我正在收件箱中打开一封邮件,并从打开的邮件内容中获取一个 URL,我想将其用于进一步的操作。要使用的url只能是上述css元素之一(来自不同的邮件)

if (getDriver().findElement(By.css("body > p:nth-child(5)")) != null) {
String URL = getDriver().findElement(By.css("body > p:nth- child(5)")).getText();
} else {
String mailBody = getDriver().findElement(By.css("body > p:nth-child(2)")).getText();
String[] temp = mailBody.split("\n");
String URL = temp[2];
System.out.println(URL);
}

String resetLink = URL;
System.out.println(resetLink);
getDriver().get(resetLink);

对我来说,脚本无法找到具有以下错误的元素(它在某种程度上是正确的,因为所需的 url 可以由代码的“else”部分获取。

NoSuchWebElementException: Unable to locate element: By[method = css, selector = "body > p:nth-child(5)"]

我希望首先运行“if”语句来检查 Url ,如果它不存在,那么我希望运行“else”语句,然后从邮件正文中获取 Url。

请帮我指出我哪里出错了。感谢您的任何建议。问候,

最佳答案

如果没有找到任何元素,查找元素将抛出NoSuchWebElementException,并且不会返回null。您可以使用 try catch

WebElement element;
String URL;

try {
element = getDriver().findElement(By.css("body > p:nth-child(5)"));
URL = element.getText();
} catch (Exception e) {
String mailBody = getDriver().findElement(By.css("body > p:nth-child(2)")).getText();
String[] temp = mailBody.split("\n");
URL = temp[2];
System.out.println(URL);
}

关于java - 无法通过 IfElse 语句定位 css 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47833261/

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