`

selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面

阅读更多

Q群里有时候会有人问,selenium  webdriver怎么实现把一个元素拖放到另一个元素里面。这一节总一下元素的拖放。

下面这个页面是一个演示拖放元素的页面,你可以把左右页面中的条目拖放到右边的div框中。

http://koyoz.com/demo/html/drag-drop/drag-drop.html

 

现在来看看selenium webdriver是怎么实现drag and drop的吧。let‘s go!

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;

public class DragAndDrop {

	/**
	 * @author gongjf
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.setProperty("webdriver.firefox.bin","D:\\Program Files\\Mozilla Firefox\\firefox.exe");  
		WebDriver dr = new FirefoxDriver();
		dr.get("http://koyoz.com/demo/html/drag-drop/drag-drop.html");
		
		//首先new出要拖入的页面元素对象和目标对象,然后进行拖入。
	    WebElement  element = dr.findElement(By.id("item1"));
		WebElement  target = dr.findElement(By.id("drop"));
		(new Actions(dr)).dragAndDrop(element, target).perform();
		
		//利用循环把其它item也拖入
		String id="item" ;
		for(int i=2;i<=6;i++){
			String item = id+i;
			(new Actions(dr)).dragAndDrop(dr.findElement(By.id(item)), target).perform();
		}
	}

}
 代码很简单,需要注意的是(new Actions(dr)).dragAndDrop(element, target).perform();这句话中,dragAndDrop(element, target)这个方法是定义了“点击element元素对象,然后保持住,直到拖到目标元素对象里面才松开”这一系列动作的Actions,如果你不调用perform()方法,这个Actions是不会执行的。over!
3
0
分享到:
评论
5 楼 kilroy 2013-04-15  
4 楼 qi_ling2005 2012-07-16  
shine22fmf 写道
public void clickAt(By by,String coordString)
这个By by对象是怎么创建的呢?


不用创建,引入的。org.openqa.selenium.By,静态类
3 楼 shine22fmf 2012-07-16  
public void clickAt(By by,String coordString)
这个By by对象是怎么创建的呢?
2 楼 qi_ling2005 2012-07-05  
shine22fmf 写道
请问老师,在selenium里面的一开始是用html脚本录制的,里面有个clickAt操作这个在转化成java时就提示无法识别了,求解。。。。谢谢



selenium webdriver 没有对应的方法,所以转化不了。自己实现用selenium实现

public void clickAt(By by,String coordString) { 
            int index = coordString.trim().indexOf(','); 
            int xOffset = Integer.parseInt(coordString.trim().substring(0, index)); 
            int yOffset = Integer.parseInt(coordString.trim().substring(index+1)); 
            new Actions(driver).moveToElement(driver.findElement(by), xOffset, yOffset).click().perform(); 
        } 
 
   
1 楼 shine22fmf 2012-07-04  
请问老师,在selenium里面的一开始是用html脚本录制的,里面有个clickAt操作这个在转化成java时就提示无法识别了,求解。。。。谢谢

相关推荐

    selenium webdriver 学习

    1.10 selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面 . . . . . . . . . . .31 1.11 selenium webdriver学习(十一)------------如何等待页面元素加载完成 . . . . . . . . . . . . ...

    Selenium需要的jar包(selenium-client-driver;selenium-server;junit4.0).rar.rar

    Selenium Server是另一个关键组件,主要负责管理WebDriver的会话,并处理跨域的远程测试。它包括两种主要模式:Remote Control和Grid。Remote Control允许你在一个机器上运行测试,而被测应用在另一台机器上。...

    selenium-ide-2.5.0

    你只需将提供的`selenium-ide-2.5.0.xpi`文件直接拖放到打开的Firefox浏览器窗口中。这种简便的安装方式使得用户无需复杂的配置,只需一步操作即可完成安装,大大降低了入门门槛。 **2. 录制与回放功能** Selenium...

    Selenium程序和资料

    综上所述,Selenium作为一个强大的Web自动化测试工具,不仅提供了一套完整的解决方案,还具有高度的灵活性和可扩展性,使其成为企业级测试的首选。通过深入学习和实践,我们可以利用Selenium有效地提高测试效率,...

    自动化测试 -Selenium IDE的插件-chrome

    安装Selenium IDE Chrome插件通常需要将.crx文件拖放到Chrome扩展管理页面,或者通过开发者模式进行手动安装。一旦安装完成,用户可以通过插件的界面录制用户交互,如点击、输入、导航等,生成可执行的测试脚本。...

    火狐浏览器selenium IDE 2.9.0

    为了安装这个插件,只需将下载的`selenium-ide.xpi`文件拖放到打开的火狐浏览器窗口中,然后按照提示进行安装。对于其他语言格式的支持,例如Ruby、Java、C#和Python,可以直接安装对应的`.xpi`文件,如`ruby-format...

    Selenium IDE介绍安装使用

    2. **命令和目标:** 在录制过程中,Selenium IDE会显示每个命令(如click,type等)及其目标(如元素ID,链接文本等)。这些可以手动编辑以适应不同需求。 3. **断言:** 添加断言来验证页面状态或元素属性,以确保...

    selenium RC 环境配置.docx

    2. **JUnit 4**: JUnit是Java中的一个单元测试框架,Selenium RC的测试脚本通常基于JUnit编写。 3. **Selenium RC**: Selenium RC客户端驱动和服务器,用于与浏览器进行交互。 4. **Firefox**: Selenium IDE需要安装...

    VKMusicDownloader:使用 Selenium WebDriver 从 VK.com 下载音乐的简单示例

    **Selenium WebDriver** 是一个自动化测试工具,但在这里它被用来模拟用户在浏览器中的交互。通过 WebDriver,我们可以控制浏览器执行各种操作,如浏览网页、点击元素、填写表单等。在这个项目中,WebDriver 被用来...

    chromedriver-win64_117.0.5908.0.zip

    ChromeDriver 是一个用于自动化浏览器操作的工具,特别是与Selenium WebDriver接口配合使用时。它是由谷歌开发的,目的是为了支持Web应用程序的自动化测试。在本例中,我们讨论的是适用于Windows 64位操作系统的...

    Selenium自动化测试(D1).pdf

    Selenium WebDriver 是一个轻量级的Web自动化框架,支持多种编程语言,如Java,可以编写更复杂的自动化脚本,实现跨浏览器测试。 7. **自动化测试的问题与解决思路** - **维护成本**:自动化脚本需要随着应用的...

    Selenium常见异常解析及解决方案示范

    - **异常类型**:`NoSuchElementException: 找不到元素`,`NoSuchAttributeException: 元素没有这个属性`,`NoAlertPresentException:没有找到alert弹出框`,`NoSuchFrameException:没有找到指定的frame或iframe`...

    action源码java-Drag-And-Drop-Java-Selenium:在此存储库中,使用Actions类执行将源拖放到目标路径的代

    这个`Drag-And-Drop-Java-Selenium`项目提供了一个具体的示例,展示了如何使用Java来实现元素的拖放功能。在实际的Web应用测试中,拖放操作常常用于验证用户界面的交互性。 `Actions`类是Selenium WebDriver的一...

    selenium.rar

    要使用这个selenium模块,首先需要将其解压并放到Python的lib/site-packages目录下。在Python环境中,这通常是Python安装路径下的一个特定目录,存放所有非标准库的Python模块。完成放置后,Python解释器就能识别这...

    selenium爬虫技术

    Selenium,一个强大的自动化测试工具,同时也被广泛应用于网页抓取,尤其是对于动态加载内容的处理。它允许开发者模拟真实用户的行为,通过浏览器驱动来执行JavaScript,实现对网页的深入交互和数据抓取。在我们的...

    chromedriver-win64_119.0.6045.9.zip

    1. **Selenium WebDriver**:Selenium是一个开源的Web应用程序测试框架,提供了多种语言的API,允许开发者模拟用户行为,如点击按钮、填写表单、导航等。WebDriver是Selenium的一个接口,它支持多种浏览器,包括...

    chromedriver-win64_117.0.5938.48.zip

    5. **安装与配置**:下载并解压后,将`chromedriver.exe`文件放到系统环境变量`PATH`覆盖的目录下,或者在运行Selenium脚本时通过`webdriver.Chrome()`方法指定其完整路径。 6. **使用示例**:在Python中,可以这样...

Global site tag (gtag.js) - Google Analytics