我在mozilla firefox中运行我的脚本我想滚动弹出窗口我 应用了这么多方法,但对我来说并不适用
senkeys("xyz@gmail.com)
我使用了滚动方法
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementById('youama-email').scrollIntoView(true);");
发生了一些例外
3.我使用了Moveto元素方法但得到了异常
WebElement element = driver.findElement(By.id("youama-email"));
操作
actions = new Actions(driver);
actions.moveToElement(element);
actions.click();
actions.perform();
//初始化Javascript执行程序
JavascriptExecutor js = (JavascriptExecutor) driver;
//垂直滚动网页内容(例如100像素)
js.executeScript("arguments[0].scrollTop =
arguments[1];",driver.findElement(By.id("<div-id>")), 100);
请帮我滚动并输入电子邮件以及其他内容 滚动后显示的字段[![输入图像说明 这里] [1] [1]
答案 0 :(得分:0)
试试这段代码。我认为你没做的是等待我做的元素可见。请参阅以下代码。它运行正常。
WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.get("http://wyomingvapor.com/");
driver.findElement(By.xpath(".//*[@id='header']/div/div[2]/div/a[1]")).click();
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(".//*[@id='y-to-register']/input")));
driver.findElement(By.xpath(".//*[@id='y-to-register']/input")).click();
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(".//*[@id='youama-firstname']")));
driver.findElement(By.xpath(".//*[@id='youama-firstname']")).sendKeys("xyz@gmail.com");
Thread.sleep(2000L);
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
robot.keyPress(KeyEvent.VK_X);
robot.keyRelease(KeyEvent.VK_X);
robot.keyPress(KeyEvent.VK_Y);
robot.keyRelease(KeyEvent.VK_Y);
robot.keyPress(KeyEvent.VK_Z);
robot.keyRelease(KeyEvent.VK_Z);
如果你仍然坚持,请回答我,Jyotsana。 快乐学习: - )