您好我是Selenium Webdriver
的新手。
我已经使用了这个website,我试图点击注册链接。我写了以下代码。
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.get("http://www.stepintohealth.qa");
driver.findElement(By.linkText("Register")).click();
执行代码时,它会抛出未找到元素的异常。我在seleniunm IDE
尝试了同样的工作,没有任何问题。我已经验证了iframes
,但注册链接不在iframes
。
答案 0 :(得分:0)
欢迎来到Selenium
的世界。它通常是您面临的元素等待/查找问题。我添加explicit等待确保元素在那里,然后再执行单击。
driver = new FirefoxDriver();
driver.get("http://www.stepintohealth.qa");
By byCss = By.cssSelector(".right1.navmenu a.register");
WebElement myDynamicElement = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(byCss ));
myDynamicElement.click();
要记住几件事:
LinkText
。 id
应始终是您的首选。如果可以,请尝试使用name
,clasName
,cssSelector
,xpath
。在这种情况下,className不能很好地工作。经过cssSelector
测试并完成了它应该做的事情。有关详细信息,请参阅this。