gpt4 book ai didi

java - 显示无法选择单选按钮 "NoSuchElementException: no such element: Unable to locate element"错误

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

我试图从给定的 3 个单选按钮中选择一个单选按钮,但出现“无此类元素”异常。

以下是所有 3 个单选按钮的 HTML 代码:

<div class="radioGroup">
<div>
<div class="radio">
<div class="radioVal"></div>
<label><span><img src="https://s3.amazonaws.com/xyz.png" alt="AltText1">Radio Button1</span></label>
</div>
<div class="radio">
<div class="radioVal"></div>
<label><span><img src="https://s3.amazonaws.com/xyz1.png" alt="AltText2">Radio Button2</span></label>
</div>
<div class="radio">
<div class="radioVal"></div>
<label><span><img src="https://s3.amazonaws.com/xyz3.png" alt="AltText3">Radio Button3</span></label>
</div>
</div>

我使用此代码来选择单选按钮:

WebElement Radio2 = driver.findElement(By.xpath("//img[contains(@alt, 'AltText2')]"));
Radio2.click();

最佳答案

通常,当发生这种情况时,原因是两个原因之一。

  1. XPath 不正确
  2. 您需要在 driver.findElement 语句中添加等待
<小时/>

(1) 检查XPath是否正确

  1. 打开 Chromedriver 并转到您正在测试的网站
  2. 按 F12 打开控制台(打开后单击“控制台”选项卡)
  3. 在 Chrome 浏览器控制台中输入以下内容并查看是否返回任何对象
  4. $x("//img[包含(@alt, 'AltText2')]")

(2) 等待元素可点击

System.TimeSpan timeToWait = new TimeSpan(0, 0, 10);
WebDriverWait wait = new WebDriverWait(driver, timeToWait);
IWebElement htmlElementOnPage = wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath("//img[contains(@alt, 'AltText2')]")));
<小时/>

此外,我在您的 html 中没有看到任何单选按钮。但我猜您实际上并不想单击标签,而是想单击标签上方的标签?

如果这是正确的,您的 xpath 应该指向 div,而不是 div 旁边的标签...

By.Xpath("//img[contains(@alt, 'AltText2')]/../div");

关于java - 显示无法选择单选按钮 "NoSuchElementException: no such element: Unable to locate element"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57911540/

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