Selenium Webdriver系列教程(2)—浏览器的简单操作

简介:

上一讲我们介绍了如何部署selenium 2.0的开发环境,这一讲我们将介绍如何使用selenium提供给我们的接口进行浏览器的简单操作。

  本文将先介绍适合初级用户的一些常用方法,然后将对一些高级用法和实现源码进行稍微深入一些的分析。

  如何打开一个测试浏览器

  做自动化测试一般情况下我们都需要首先打开测试浏览器,浏览器开启后我们方可"命令"浏览器去打开新页面,点击特定的链接,判断具体的逻辑等等。因此该操作为"万里长征的第一步",必须给以重视。具体代码如下。需要注意的是如果使用chrome进行测试,那么必须下载安装chrome driver。

require 'rubygems'
require 'selenium-webdriver'
# 打开firefox
dr = Selenium::WebDriver.for :firefox
dr = Selenium::WebDriver.for :ff
# 打开ie
dr = Selenium::WebDriver.for :ie
dr = Selenium::WebDriver.for :internet_explorer
# 打开chrome
dr = Selenium::WebDriver.for :chrome

  如何打开1个具体的url

  打开浏览器后我们需要转到我们的测试url。下面的代码可以达成这个目的。

require 'rubygems'
require 'selenium-webdriver'
dr = Selenium::WebDriver.for :firefox
# 使用get方法
dr.get url
# 使用navigate方法,然后再调用to方法
dr.navigate.to url

  如何关闭浏览器

  测试结束后往往需要关闭浏览器,下面的代码可以完成这个任务。

require 'rubygems'
require 'selenium-webdriver'
dr = Selenium::WebDriver.for :firefox
dr.get url
# 使用quit方法
dr.quit
# 使用close方法
dr.close


  如何返回当前页面的url

  有时候我们需要返回当前测试页面的url。比如在使用soso进行搜索时,当我们提交了搜索请求后,soso返回的url应该是包含我们所需要搜索的关键字的。

  例如如果我们搜索webdriver,那么提交搜索请求后,页面应当转到url为http://www.soso.com/q?pid=s.idx&cid=s.idx&w=webdriver的页面,这时候我们取到这个页面的url,然后通过正则表达式去匹配一下就能够得到我们所搜索的关键字了。具体代码如下。

require 'rubygems'
require 'selenium-webdriver'
dr = Selenium::WebDriver.for :firefox
url = 'http://www.soso.com'
dr.navigate.to url
search_input = dr.find_element :id => 's_input'
search_input.send_keys 'webdriver'
search_input.submit
match = dr.current_url.match(/\b\w+$/)
keyword = match[0] if match

  如何返回当前页面的title

require 'rubygems'
require 'selenium-webdriver'
dr = Selenium::WebDriver.for :firefox
url = 'http://www.soso.com'
dr.navigate.to url
puts dr.title

  其他方法

  window_handles : 返回当前所有打开浏览器的窗口句柄

  window_handle : 返回当前的浏览器的窗口句柄

  page_source : 返回当前页面的源码

  visible: 当前浏览器是否可见,并不保证支持所有浏览器

  深入讨论

  操作浏览器的方法主要封装在lib\selenium\webdriver\common\driver.rb文件中。

  该文件定义了Selenium::WebDriver::Driver类。我们启动浏览器就是调用这个类的for方法。

  接下来

  这一节讨论了浏览器的简单操作,下一节我们将讨论如何在页面上执行js代码。   



最新内容请见作者的GitHub页:http://qaseven.github.io/

   

目录
相关文章
|
2天前
|
数据采集 安全 Java
Java Selenium WebDriver:代理设置与图像捕获
Java Selenium WebDriver:代理设置与图像捕获
|
2天前
|
数据采集 Web App开发 JavaScript
快速参考:用C# Selenium实现浏览器窗口缩放的步骤
在C#结合Selenium的网络爬虫应用中,掌握浏览器窗口缩放、代理IP、cookie与user-agent设置至关重要。本文详述了如何配置代理(如亿牛云加强版),自定义用户代理,启动ChromeDriver,并访问目标网站如抖音。通过执行JavaScript代码实现页面缩放至75%,并添加cookie增强匿名性。此策略有效规避反爬机制,提升数据抓取的准确度与范围。代码示例展示了整个流程,确保爬虫操作的灵活性与高效性。
|
5天前
|
Web App开发 前端开发 JavaScript
用户在浏览器中输入URL后,浏览器进程会进行什么操作
用户在浏览器中输入URL后,浏览器进程会进行什么操作
|
5天前
|
监控 Java 测试技术
确保Selenium WebDriver配置与测试环境兼容
确保Selenium WebDriver配置与测试环境兼容
|
11天前
|
Web App开发 测试技术 持续交付
Selenium 跨浏览器和跨平台
Selenium 跨浏览器和跨平台
|
8天前
|
数据安全/隐私保护
Dolphin指纹浏览器隐私保护升级:IPXProxy代理IP配置实战教程
Dolphin指纹浏览器采用先进的技术,让用户在一台电脑上就可以处理数百个配置文件。每一个配置文件都有着独特的浏览器指纹,极大的保障了用户上网的安全性。并且搭配代理IP一起,还能给每个文件配置不同的IP地址,让网络活动可以畅通无阻。下面给大家带来Dolphin指纹浏览器和IPXProxy代理IP配置详细教程
|
11天前
|
Web App开发 XML Java
《手把手教你》系列基础篇(九十六)-java+ selenium自动化测试-框架之设计篇-跨浏览器(详解教程)
【7月更文挑战第14天】这篇教程介绍了如何使用Java和Selenium构建一个支持跨浏览器测试的自动化测试框架。设计的核心是通过读取配置文件来切换不同浏览器执行测试用例。配置文件中定义了浏览器类型(如Firefox、Chrome)和测试服务器的URL。代码包括一个`BrowserEngine`类,它初始化配置数据,根据配置启动指定的浏览器,并提供关闭浏览器的方法。测试脚本`TestLaunchBrowser`使用`BrowserEngine`来启动浏览器并执行测试。整个框架允许在不同浏览器上运行相同的测试,以确保兼容性和一致性。
25 3
|
1月前
python+Pycharm+selenium操作浏览器(Chorme或Edge)
python+Pycharm+selenium操作浏览器(Chorme或Edge)
38 1
|
2月前
|
JavaScript
浏览器插件crx文件--JS混淆与解密
浏览器插件crx文件--JS混淆与解密
81 0
|
2月前
|
Web App开发 JavaScript 前端开发
浏览器与Node.js事件循环:异同点及工作原理
浏览器与Node.js事件循环:异同点及工作原理

热门文章

最新文章