gpt4 book ai didi

java - 似乎无法获取 Selenium [Java] 中的属性

转载 作者:太空宇宙 更新时间:2023-11-04 10:32:56 25 4
gpt4 key购买 nike

我正在尝试使用电子邮件自动获取亚马逊登录代码,并且我不断在控制台中获取此信息而不是实际值。这是我正在使用的代码:

    driver = new FirefoxDriver();
driver.get("https://getnada.com");
driver.findElement(By.cssSelector(".icon-plus")).click();
driver.findElement(By.cssSelector(".user_name")).clear();
driver.findElement(By.cssSelector(".user_name")).sendKeys(euser[0]);
driver.findElement(By.cssSelector("#domain")).sendKeys(euser[1]);
driver.findElement(By.cssSelector(".button")).click();
TimeUnit.SECONDS.sleep(2);
driver.findElement(By.className("msg_item")).click();
TimeUnit.SECONDS.sleep(4);
WebElement otp = driver.findElement(By.cssSelector(".otp"));
String otp2 = otp.getText();
System.out.println(otp2);

这里是控制台输出 im ggett(来自此链接的输出:String otp2 = otp.getText();)。

不太清楚为什么我不能以这种方式获取代码。

*** Element info: {Using=css selector, value=.otp}
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:319)
at org.openqa.selenium.remote.RemoteWebDriver.findElementByCssSelector(RemoteWebDriver.java:413)
at org.openqa.selenium.By$ByCssSelector.findElement(By.java:430)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:311)
at Sele.getCode(Sele.java:88)
at Sele.main(Sele.java:50)

这就是 HTML 代码的相关部分(消息本身)

<body><img width="1" height="1" src="https://www.amazon.com/gp/r.html?C=PEZFBQGDUNSN&amp;M=urn:rtn:msg:20180413074245990875ff91624d9d8bb242b741d0p0na&amp;R=3OQKPPQZZDF2F&amp;T=O&amp;U=https%3A%2F%2Fimages-na.ssl-images-amazon.com%2Fimages%2FG%2F01%2Fnav%2Ftransp.gif&amp;H=KSKZSRSP6P3QSUF8JZBWJ5KWQIMA&amp;ref_=pe_1568390_127719720_opens">
<table align="center" cellspacing="0" id="container" cellpadding="0">
<tbody>
<tr>
<td>
<table cellspacing="0" id="content" cellpadding="0">
<tbody>
<tr>
<td id="header">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="250" id="logo">
<img src="https://images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/te/logo._CB152417367_.png" id="amazonLogo"> </td>
<td width="250" id="title" valign="top" align="right"><p></p></td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr>
<td id="verificationMsg">
<p>Hello,<br> We noticed that there was an attempt to sign in to your Amazon account. If you were prompted for a verification code, please enter the following to complete your sign-in.</p>
<p class="otp">521914</p>
</td>
</tr>

<tr>
<td id="accountSecurity">
<p>This code will expire in 10 minutes.
<br><br>
If you did not try to sign in to your account, please change your password immediately by visiting your account settings on Amazon. We also recommend changing password on other non-Amazon websites if you use the same password.
<br><br>
If you have additional questions about account security, please visit amazon.com/security.
</p>
</td>
</tr>

<tr>
<td id="closing">
<p>Thanks for visiting Amazon!
</p>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<img width="1" height="1" src="https://www.amazon.com/gp/r.html?C=PEZFBQGDUNSN&amp;M=urn:rtn:msg:20180413074245990875ff91624d9d8bb242b741d0p0na&amp;R=3OQKPPQZZDF2F&amp;T=E&amp;U=https%3A%2F%2Fimages-na.ssl-images-amazon.com%2Fimages%2FG%2F01%2Fnav%2Ftransp.gif&amp;H=X5XU71AZVGA8LYXBO4DVAEXMCFKA&amp;ref_=pe_1568390_127719720_open">


<div id="selenium-highlight"></div></body>

最佳答案

我将为您提供一个适合您的替代方案。尝试使用以下方法来定位元素:

driver.findElement(By.xpath("//p[@class='otp']"));

关于java - 似乎无法获取 Selenium [Java] 中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49812454/

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