Selenium 学习总结

目录

一、简介

二、配置

三、常用API

1、启动浏览器

2、关闭浏览器

3、浏览器导航栏的操作(driver.navigate())

4、获取页面DOM

四、WebElement 获取到的DOM节点操作

五、调用javascript代码

六、常用操作

1、截屏操作

2、双击

3、拖拽操作

4、操作下拉列表(Select)

5、操作单选框、多选框、按钮 链接

6、检查属性

7、关闭弹窗

8、获取页面的数据


一、简介

自动化浏览器操作

二、配置

selenium-java 配置包

启动浏览器,使用谷歌浏览器(需要下载谷歌浏览器驱动)

启动

public class Chromtest {
    public static void main(String[] args) {
        RemoteWebDriver driver;
        //创建配置信息
        System.setProperty("webdriver.chrome.driver","D:\\C(RJ)\\Chrome\\Application\\chromedriver.exe");//配置浏览器驱动的位置
        ChromeOptions chromeOptions=new ChromeOptions();

        chromeOptions.addArguments("--remote-allow-origins=*");//解决 403 出错问题

        // 设置为headless模式 (必须) //无头浏览模式
      chromeOptions.addArguments("--headless");
        //设置浏览器窗口打开大小 (必须)
        chromeOptions.addArguments("--window-size=1366,700");

        //创建
         driver=new ChromeDriver(chromeOptions);
        driver.get("url"); //需要打开网站的url

    }
}

三、常用API

1、启动浏览器

driver.get("url")
driver.navigate().to("url")  //不会检查是否出现问题

2、关闭浏览器

driver.quit() //移除对象,相当于关闭
driver.close() //关闭窗口

3、浏览器导航栏的操作(driver.navigate())

driver.navigate()
    driver.navigate().refresh()  刷新
    driver.navigate().to("url")  向地址导航栏输入url
    driver.navigate().back()   回退

4、获取页面DOM

 findElement  相关的第一个节点  (返回WebElement)
 findElements 相关的全部节点(返回List<WebElement> )
  WebElement webElement=driver.findElement(new By.ByClassName("TopicItem"));
  List<WebElement> webElements= driver.findElements(new By.ByClassName("TopicItem"));
     WebElement webElements= driver.findElement(new By.ByCssSelector(".cover>a")); //css选择器方式 万能
     WebElement webElements= driver.findElement(new By.ByClassName("xx"));  //根据类名
      WebElement webElements= driver.findElement(new By.ById("xx")); //根据id

四、WebElement 获取到的DOM节点操作

 webElement.clear(); //清除文本框的值
  webElement.clear(); //点击按钮或者链接
  webElement.getText() //获取标签内部文本值  例如<h1>文本值</>  中的 “文本值”
  webElement.sendKeys("value"); //输入框输入值
  webElement.submit() ; //提交表单 ,当前dom节点是任意一个表单元素即可
 webElement.getAttribute(“key”); //得到标签元素的属性

五、调用javascript代码

driver.executeAsyncScript("js") //异步执行js代码 (不阻塞下一行代码的执行)
executeScript("js")  //  执行当前会阻塞下一行代码的执行

六、常用操作

1、截屏操作

 driver.getScreenshotAs()

    File file= driver.getScreenshotAs(OutputType.FILE);

2、双击

  Actions act=new Actions(driver);
//获得需要双击的节点
 WebElement webElement=driver.findElement(new By.ById("aw"));
 //双击节点
 act.doubleClick(webElement).build().perform(); // build() 连贯  perform()执行

3、拖拽操作

     Actions act=new Actions(driver); //封装driver
  WebElement scr=driver.findElement(new By.ById("kais"));//需要拖拽的元素
  WebElement target=driver.findElement(new By.ById("kais"));//拖拽目的地的元素
  act.dragAndDrop(scr,target).perform(); //执行拖拽

4、操作下拉列表(Select)

 WebElement make=driver.findElement(new By.ById("make"));//获取下拉列表的Dom节点
Select select=new Select(make);
//操作
   select.selectByIndex(0); //选择下拉列表对应位置的元素(通过位置选择)
   select.selectByValue("xx"); //通过标签value值选择
   select.selectByVisibleText("xx"); //通过标签文本内容选择

5、操作单选框、多选框、按钮 链接

WebElement dua=driver.findElement(new By.ByCssSelector("form>input"));//获取第一个单选框选项
 dua.click();//点击

6、检查属性

  WebElement 提供的检查元素

      isEnabled() 检查元素是否启用
      isSelected() 检查元素是否被选中(单选框、多选框、下拉框)
      isDisplay() 检查元素是否可见

7、关闭弹窗

需要根据实际情况出发

下面为一打开网站页面就有弹窗的情况(div动画弹窗)

WebElement dua=driver.findElement(new By.ByCssSelector(".close"));//找到弹窗的关闭DOM
if(dua.isDisplayed()){
    //如果可见(即弹出)
    dua.click(); //就点击
}

8、获取页面的数据

//获取当前页面信息(便以其他爬虫解析html)
  String html=driver.getPageSource(); //从无头浏览器中取出html
  String url= driver.getCurrentUrl() ;//从页面获取url
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值