美文网首页
Java selenium demo代码示例

Java selenium demo代码示例

作者: 黑咔 | 来源:发表于2020-02-13 16:18 被阅读0次
package com.test.class01;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;

import com.test.driverself.GoogleDriver;

public class Demo {
    public static void main(String[] args) {
        
        // 设置临时的系统变量,让代码能够在系统中找到chromedriver的位置。
        System.setProperty("webdriver.chrome.driver", "webDriver/chromedriver.exe");
        
        GoogleDriver gg=new GoogleDriver("webDriver/chromedriver.exe");
        WebDriver driver=gg.getdriver();
        
        
        //通过webdriver对象的实例化,完成浏览器的启动过程和启动端口作为服务器监听服务命令的过程。
        //WebDriver driver = new ChromeDriver();

        // get方法访问URL地址
        driver.get("http://www.baidu.com");
        

        // Find the text input element by its name
        WebElement element = driver.findElement(By.name("wd"));

        // Enter something to search for
        element.sendKeys("Cheese!");

        // Now submit the form. WebDriver will find the form for us from the element
        element.submit();

        // Check the title of the page
        System.out.println("Page title is: " + driver.getTitle());
        
        // Google's search is rendered dynamically with JavaScript.
        // Wait for the page to load, timeout after 10 seconds
        (new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
            public Boolean apply(WebDriver d) {
                return d.getTitle().toLowerCase().startsWith("cheese!");
            }
        });

        // Should see: "cheese! - Google Search"
        System.out.println("Page title is: " + driver.getTitle());
        
        //Close the browser
        driver.quit();
    }
}
package com.test.driverself;

import java.io.File;
import java.io.IOException;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeDriverService;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;

public class GoogleDriver { // Chrome浏览器驱动类
    private WebDriver driver = null;

    public GoogleDriver(String driverpath) {
        // 设置 chrome 的路径
        System.setProperty("webdriver.chrome.driver", driverpath);
        /**
         * Chromeoption对象可以为chrome启动时定制许多参数,需要用到更多参数可以查阅chromeoptions相关说明。
         */
        // chrome浏览器参数对象
        ChromeOptions option = new ChromeOptions();
        // 去除Chrome浏览器上的被自动化软件操作警告,目前新版本chrome不支持
//      option.addArguments("disable-infobars");
        /**
         * 加载chrome用户文件,这里使用的是浏览器默认存储的用户文件目录。 在chrome浏览器里通过地址栏里输入chrome://version
         * 进行访问,能够看到个人资料路径 注意个人资料路径中复制时,只需要到User Data这一级,不需要Default这一级
         * 使用时会和手动打开的浏览器冲突,注意不要同时打开。
         */
//      option.addArguments("--user-data-dir=C:\\Users\\pc\\AppData\\Local\\Google\\Chrome\\User Data");
        // 也可以将浏览器路径下的User Data目录复制一份放到其它位置进行引用,这样不会和手动打开的浏览器产生冲突。
        option.addArguments("--user-data-dir=F:\\softdate\\User Data");
        // 最大化浏览器窗口
        option.addArguments("--start-maximized");

        try { // 创建一个 Chrome 的浏览器实例
            this.driver = new ChromeDriver(option);
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("log--error:创建driver失败!!");
        }

    }

    public WebDriver getdriver() {
        return this.driver;
    }
}

相关文章

网友评论

      本文标题:Java selenium demo代码示例

      本文链接:https://www.haomeiwen.com/subject/eprqyctx.html