我已经写了下面的代码来选择单选按钮,它的工作很好,但今天它不工作了。请找到html" target="_blank">代码和相应的错误消息
代码1:
WebDriverWait wait = new WebDriverWait(driver,10);
WebElement radio = wait.until (ExpectedConditions.presenceOfElementLocated(By.id("0_2485A_StartDate")));
((JavascriptExecutor)driver).executeScript("arguments[0].click()", radio);
错误1:“线程”main“org.openqa.selenium.TimeoutException中出现异常:等待存在由:By.id:0_2485a_startdate定位的元素10秒后超时”
代码2:
WebDriverWait wait = new WebDriverWait(driver,10);
WebElement radio = wait.until (ExpectedConditions.presenceOfElementLocated(By.id("Radio_0_2485A")));
((JavascriptExecutor)driver).executeScript("arguments[0].click()", radio);
错误2:“线程”main“org.openqa.selenium.TimeoutException中出现异常:等待由:by.id:radio_0_2485a定位的元素存在10秒后超时”
代码3:
WebDriverWait wait = new WebDriverWait(driver,10);
WebElement radio = wait.until(ExpectedConditions.elementToBeClickable(By.id("0_2485A_StartDate")));
radio.click();
错误3:“线程”main“org.openqa.selenium.TimeoutException中出现异常:等待元素可单击10秒后超时:By.id:0_2485a_startdate”
代码4:
WebDriverWait wait=new WebDriverWait(驱动程序,10);WebElement radio=wait.until(ExpectedConditions.ElementToBeclickable(By.id(“Radio_0_2485A”));radio.click();
错误4:“线程”main“org.openqa.selenium.TimeoutException中出现异常:等待元素可单击10秒后超时:By.id:RADIO_0_2485A”
HTML:
<th class="radio">
<input id="0_2485A_StartDate" type="hidden" value="18/12/2015 00:01:00">
<input name="Products[0].ProductCode" title="5 Year Fixed Rate Until 28/02/2021 with £999 Fee" id="Radio_0_2485A" type="radio" value="2485A">
<label for="Radio_0_2485A">
5 Year Fixed Rate Until 28/02/2021 with £999 Fee
</label>
</th>
请一定建议。
PresenceOfElementLocated
只是检查DOM
中存在的元素,因此,如果您将其与ExpectedConditions
一起使用,您的代码就可以正常工作。
但正如我所看到的,异常stacktrace表明您使用的是ElementToBeclickable
,实际上ElementToBeclickable
用于等待元素可见和可单击,而定位的元素被隐藏并且永远不可见。
你在寻找隐藏的元素所以你才有麻烦。
您应尝试按以下方式定位实际无线电元件:-
WebDriverWait wait = new WebDriverWait(driver,10);
WebElement radio = wait.until(ExpectedConditions.elementToBeClickable(By.id("Radio_0_2485A")))
radio.click()
我有一个输入框,就像我在这里用来输入我的问题,它的HTML是 每次,我都会尝试输入一些文本 我明白错误了-
任何提示都会很有帮助!
大家好,我正试图在网站中找到一个元素,但出于某种原因,它不允许我。该网页是Reddit的登录形式,我尝试输入用户名和密码,但当我列出所有输入时,它只出现在顶部搜索栏中。我想这是因为它就像在另一个“标签”一样,它会弹出到前面,但我不知道如何管理它。提前谢谢。
我正在尝试以下元素: 以下是Java代码: 它找不到元素。请帮忙。谢谢。
然而,我知道它是失败的前一个命令(如下所示),因为它从来没有点击到这个页面。 失败代码; 也试过;
我正在尝试在Selenium IDE中运行一个记录的测试用例。问题是当我尝试执行整个测试用例时,Selenium会停止它,而不是在页面上找到一个元素。问题是我可以执行测试用例的单个步骤。我认为Selenium会在加载新页面之前尝试找到一个元素,所以我使用了clickAnd等待、暂停和waitForElementPresent命令-什么都不起作用,Selenium会停止测试用例。 调试日志 我将非常