如何通过SeleniumWebDriver使用Java按Ctrl+A选择页面中的所有内容



我想通过使用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")

最新更新