我想通过使用Java的WebDriver从键盘上按Ctrl+a来选择所有内容。我写了以下代码:
Actions actionObj = new Actions(driver);
actionObj.keyDown(Keys.CONTROL)
.sendKeys(Keys.chord("A"))
.keyUp(Keys.CONTROL)
.perform();
不幸的是,它没有起作用。我的WebDriver Java代码出了什么问题?
选择整个页面:
driver.findElement(By.xpath("//body")).sendKeys(Keys.chord(Keys.CONTROL, "a"));
cssSelector比xpath
快。因此,也可以通过使用CSSPath来完成。以下是方式:
driver.findElement(By.cssSelector("body")).sendKeys(Keys.chord(Keys.CONTROL, "a"));
尝试和弦Ctrl+A键。下面的代码在我的情况下起作用:
element.sendKeys(Keys.chord(Keys.CONTROL, "a"));
Mac用户应该使用Cmnd而不是Control:
element.sendKeys(Keys.chord(Keys.COMMAND, "a"));
Python
#! /usr/bin/env python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.firefox.service import Service
service_obj = Service(executable_path="C:/Firefox-Webdriver/geckodriver.exe")
browser = webdriver.Firefox(service=service_obj)
browser.get('http://localhost:8000/')
browser.get(url)
body = browser.find_element(By.TAG_NAME, "body")
body.send_keys(Keys.CONTROL + "a")
body.send_keys(Keys.CONTROL + "c")