鼠標操作
在WebDriver中,將這些關於鼠標操作的方法封裝在ActionChains類提供
- 鼠標左擊click()
WebDriver driver = new ChromeDriver();
driver.get("https://www.baidu.com");
Actions action = new Actions(driver);
//獲取元素
WebElement linkText = driver.findElement(By.linkText("新聞"));
//將元素傳給Actions對象並執行左擊操作
//注意一定要執行perform()進行提交!!!
action.click(linkText ).perform();
- 鼠標右擊contextClick()
......
action.contextClick(linkText ).perform();
- 鼠標雙擊doubleClick()
操作同上即可 - 鼠標釋放release()
- 鼠標移動moveToElement()
將鼠標移動到指定元素的位置
WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com/");
Actions action = new Actions(driver);
WebElement text = driver.findElement(By.linkText("設置"));
action.moveToElement(text ).perform();
- 鼠標懸停clickAndHold()
鼠標懸停在指定元素位置,即點擊但不釋放
action.clickAndHold(element) 相當於 action.moveToElement(element).clickAndHold()
用一段代碼來解釋
WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com/");
Actions action = new Actions(driver);
WebElement text = driver.findElement(By.linkText("新聞"));
//將鼠標懸停在【新聞】元素上,處於點擊但未釋放狀態
action.clickAndHold(text ).perform();
Thread.sleep(2000);
//將鼠標釋放
action.release().perform();
- 鼠標拖拽dragAndDrop()
action.dragAndDrop(source, target)相當於action.clickAndHold(source).moveToElement(target)
鍵盤操作
在WebDriver中,將這些關於鍵盤操作的方法封裝在Keys類提供,另外,**sendKeys()**不僅可以模擬鍵盤輸入,還可以用它來輸入鍵盤上的按鍵, 甚至是組合鍵, 如 Ctrl+A、 Ctrl+C 等
操作方法 | 操作說明 |
---|---|
sendKeys(Keys.BACK_SPACE) | 回格鍵(BackSpace) |
sendKeys(Keys.SPACE) | 空格鍵(Space) |
sendKeys(Keys.TAB) | 製表鍵(Tab) |
sendKeys(Keys.ESCAPE) | 回退鍵(Esc) |
sendKeys(Keys.ENTER) | 回退鍵(Enter) |
sendKeys(Keys.CONTROL,‘a’) | 全選(Ctrl+A) |
sendKeys(Keys.CONTROL,‘c’) | 複製(Ctrl+C) |
sendKeys(Keys.CONTROL,‘x’) | 剪切(Ctrl+X) |
sendKeys(Keys.CONTROL,‘v’) | 粘貼(Ctrl+V) |
sendKeys(Keys.F1) | 鍵盤F1 |