selenium测试(Java)--执行JS(十八)

Posted qingxin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium测试(Java)--执行JS(十八)相关的知识,希望对你有一定的参考价值。

1.  操作滚动条

package com.test.js;

import org.openqa.selenium.By;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.javascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class WindowScroll {

    public static void main(String[] args) {
        WebDriver driver = new FirefoxDriver();
        driver.get("http://www.baidu.com");
        driver.manage().window().setSize(new Dimension(600, 600));

        waitTime(3000);
        driver.findElement(By.cssSelector("#kw")).sendKeys("selenium");
        driver.findElement(By.cssSelector("#su")).click();

        waitTime(3000);
        String js = "window.scrollTo(100,450);";
        ((JavascriptExecutor) driver).executeScript(js);

        waitTime(5000);
        driver.quit();

    }

    static public void waitTime(int time) {

        try {
            Thread.sleep(time);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

2.在textarea中输入内容

package com.test.js;

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class TextareaInput {

    public static void main(String[] args) {
        WebDriver driver = new FirefoxDriver();
        driver.get("file:///D:/10-selenium/workspace/SeleniumTest/src/com/test/js/textarea.html");
        driver.manage().window().maximize();

        driver.findElement(By.cssSelector("#id")).sendKeys("input text----");

        // 利用JS来输入内容
        waitTime(5000);
        String text = "input by js";
        String js = "var sum = document.getElementById(\'id\'); sum.value=\'" + text + "\';";
        System.out.println(js);
        ((JavascriptExecutor) driver).executeScript(js);

    }

    static public void waitTime(int time) {

        try {
            Thread.sleep(time);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

参考:

http://www.cnblogs.com/tobecrazy/p/4817946.html

以上是关于selenium测试(Java)--执行JS(十八)的主要内容,如果未能解决你的问题,请参考以下文章

Python+Selenium练习(二十八)-处理Alert弹窗

如何在 Eclipse 中使用 Selenium 将外部 .js 导入到我的 Java 测试中?

Selenium2学习(十八)-- js处理内嵌div滚动条

selenium 怎么使用java编写测试用例

如何使用 Selenium+Appium 和 java 测试随机值

如何提高自动化测试的执行效率 selenium java