我正在学习硒,对此我是新手。 我试图生成一个自动脚本来联系gmail注册页面,然后填写所有细节。 这就是我想简要说明的事情: 1.使用baseurl启动谷歌浏览器,以及#34; www.google.com" 2.单击gmail链接(右上角和#34;图像") 3.在Gmail登录页面上,单击"更多选项" 4.点击"创建帐户" 5.在测试数据中键入字段
我遇到的问题是,有时会成功点击创建帐户链接,有时则不会。
我使用selenium和java。
以下是代码:
System.setProperty("webdriver.chrome.driver","C:\\Users\\Admin\\Downloads\\TESTING\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
String baseUrl = "http:\\www.google.co.in";
driver.get(baseUrl);
System.out.println(driver.getTitle());
WebDriverWait wait = new WebDriverWait(driver, 2);
driver.findElement(By.xpath("//*[@id=\"gbw\"]/div/div/div[1]/div[1]/a")).click();
driver.findElement(By.xpath("//*[@id=\"view_container\"]/form/div[2]/div/div[2]/div[2]/div")).click();
wait.until(ExpectedConditions.elementToBeClickable(By.id("SIGNUP")));
driver.findElement(By.className("z80M1")).click();
driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
System.out.println(driver.getTitle());
driver.findElement(By.id("FirstName")).sendKeys("abcd");
System.out.println(driver.getTitle());
driver.close();
有时会成功点击“创建帐户”链接,有时则不会。 有时会遇到这个错误:
线程中的异常" main" org.openqa.selenium.NoSuchElementException:没有这样的元素:无法找到元素:{"方法":" id","选择器":" FirstName& #34;}
任何帮助都将受到高度赞赏。 另外,如果我做错了,请告诉我。
答案 0 :(得分:0)
尝试增加显式/隐式等待时间。当前等待是2秒,似乎元素未在2秒时间限制内加载
答案 1 :(得分:0)
什么 Selenium(至少意图)很棒。 它是如何实现的,一直以来,而且很可能永远都是一个小小的元素。
一般来说,API有效,但不正确。每次我使用它,我都发现时间/事件等不能正常工作。也就是说,当Selenium认为它不是“完成”时。
提示:
通常情况下,在来自Selenium的通知已经加载页面后,我会休息1秒。有时我需要更大的停顿。
虽然这会降低您的测试速度,但这通常不是什么大问题,因为行为测试套件通常需要相当长的时间(小时)才能完成。并且最好避免误报。