Java Selenium:单击的元素根据启动的实例数而变化

Java Selenium:单击的元素根据启动的实例数而变化,java,selenium,testing,Java,Selenium,Testing,所以我只是在点击一个与输入文本框相关的单选按钮后尝试获取它的值。我有3个单选按钮,我们把它们叫做“radio1”、“radio2”和“radio3” 默认情况下,选中“radio3”,我的目标是单击“radio1”,然后获取文本框的值。以下是我正在运行的代码: WebElement radioMonthly = driver.findElement(By.xpath("//* [@id=\"dateFromTo_date_format_2\"]")); Actions actions = n

所以我只是在点击一个与输入文本框相关的单选按钮后尝试获取它的值。我有3个单选按钮,我们把它们叫做“radio1”、“radio2”和“radio3”

默认情况下,选中“radio3”,我的目标是单击“radio1”,然后获取文本框的值。以下是我正在运行的代码:

WebElement radioMonthly = driver.findElement(By.xpath("//* 
[@id=\"dateFromTo_date_format_2\"]"));

Actions actions = new Actions(driver);
actions.moveToElement(radioMonthly).click().perform();
在第一次尝试时,单击“radio1”并正确存储值,但如果我再次启动测试,则单击的是“radio2”。请注意,它们不共享id

我已经解决了这个问题,但我想知道这里发生了什么


谢谢

以下是我是如何修复它的,请遵循此线程

以及守则:

WebElement radioMonthly = 
driver.findElement(By.xpath("//[@id=\"dateFromTo_date_format_2\"]"));
JavascriptExecutor clickradioMonthly = (JavascriptExecutor)driver;
clickradioMonthly.executeScript("arguments[0].click()", radioMonthly);
但如果有人能够理解并解释问题的来龙去脉,那就太好了


谢谢

您是如何解决此问题的?回答如下;)