我正在使用Selenium Web驱动程序来学习自动化。 在eclipse enter image description here中运行脚本时,未单击按钮并且未显示元素错误。当我用firebug检查元素时,我发现它显示为onclick函数(附加图像)。每次单击按钮时,我的脚本都会失败。
有人可以帮忙吗?
这是我的代码
driver.findElement(By.linkText("Create a New Test")).click();
driver.findElement(By.id("testing_name")).clear();
driver.findElement(By.id("testing_name")).sendKeys("automated test26");
driver.findElement(By.id("start_url")).clear();
driver.findElement(By.id("start_url")).sendKeys("https://sqa.stackexchange.com/questions/2696/selenium-how-to-identify-the-button-webelement");
driver.findElement(By.id("test_type_save_selection")).click();
driver.findElement(By.name("Run Test")).click();
driver.findElement(By.linkText("logout")).click();
答案 0 :(得分:0)
请尝试以下XPath:
//*[contains(@title, 'Run Test')]
答案 1 :(得分:0)
我看到了图片,我注意到标题是运行测试 - 打开对话框而不是运行测试。
请尝试以下行:
driver.findElement(By.xpath("//a[contains(@title, 'Run Test - Opens dialog')]")).click();
答案 2 :(得分:0)
你必须使用xpath,因为我看到HTML中没有name属性。也可以使用Wait until元素进行点击。
试试这段代码:
driver.findElement(By.linkText("Create a New Test")).click();
driver.findElement(By.id("testing_name")).clear();
driver.findElement(By.id("testing_name")).sendKeys("automated test26");
driver.findElement(By.id("start_url")).clear();
driver.findElement(By.id("start_url")).sendKeys("https://sqa.stackexchange.com/questions/2696/selenium-how-to-identify-the-button-webelement");
driver.findElement(By.id("test_type_save_selection")).click();
WebDriverWait wait = new WebDriverWait(driver, 15);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//*[contains(@title, 'Run Test')] ")));
driver.findElement(By.xpath("//*[contains(@title, 'Run Test')]")).click();
driver.findElement(By.linkText("logout")).click();