如何在外部div中定位带有标签警报的元素



我试图在此页面中找到 elemnts 并将其放入对象 (DomElement( 中以对其进行一些测试,问题是 elemnt reg-error-yid 它是div yid-field-suggestion 中的内部div,我试图获取 ElementById、byName、byXPath 和 getFirstByXPath 它都不起作用,我也尝试使用 WebDriver 更改 webClient 并使用driver.findElement(By.className("oneid-error-message"))它也不起作用

注册消息的别名

<div id="reg-error-yid" class="oneid-error-message" data-error="messages.IDENTIFIER_EXISTS" role="alert">A Yahoo account already exists with this email address. <a href="https://login.yahoo.com/?intl=xa&amp;lang=en-JO&amp;src=ym&amp;.intl=xa&amp;specId=yidReg&amp;.done=https%3A%2F%2Fmail.yahoo.com&amp;nr=1&amp;step=2&amp;.crumb=qP.UnkGzfkR&amp;login=abtallaldigital">Sign in</a>.</div>

我的代码

final HtmlPage page1 = webClient.getPage("https://login.yahoo.com/account/create?specId=yidReg&lang=en-JO&src=ym&done=https%3A%2F%2Fmail.yahoo.com&display=login&intl=xa");
             final DomElement firstName = page1.getElementById("usernamereg-firstName");
             final DomElement emailAddress = page1.getElementById("usernamereg-yid");
             final DomElement takenMsg = page1.getElementById("reg-error-yid");

我不确定您的需求。我不能在这里发表评论。

但是如果你尝试解析文档,你可以使用 Jsoup 来解析文档。

getElementById, byName, byXPath相比,select更有用和更容易。

org.jsoup.nodes.Document doc = Jsoup.connect("https://login.yahoo.com/account/create?specId=yidReg&lang=en-JO&src=ym&done=https%3A%2F%2Fmail.yahoo.com&display=login&intl=xa").get();
org.jsoup.select.Elements takenMsgs = doc.select("div[id=reg-error-yid]");
org.jsoup.select.Element takenMsgFirst = doc.select("div[id=reg-error-yid]").first;

看看是否可以将org.jsoup.select.Elements转换为com.gargoylesoftware.htmlunit.html.DomElement

相关内容

  • 没有找到相关文章

最新更新