如何使用Ctrl + A按Selenium WebDriver使用Java选择页面中的所有内容

Rip*_*sim 18 java selectall virtual-keyboard selenium-webdriver

我想通过使用WebDriver with Java在键盘上按Ctrl+ 来选择所有内容a.我写了以下代码:

Actions actionObj = new Actions(driver);
actionObj.keyDown(Keys.CONTROL)
         .sendKeys(Keys.chord("A"))
         .keyUp(Keys.CONTROL)
         .perform();
Run Code Online (Sandbox Code Playgroud)

不幸的是,它没有用.我的WebDriver Java代码有什么问题?

小智 31

选择整页:

driver.findElement(By.xpath("//body")).sendKeys(Keys.chord(Keys.CONTROL, "a"));
Run Code Online (Sandbox Code Playgroud)

cssSelector比xpath快.所以也可以通过使用CSSPath来完成.以下是方式:

driver.findElement(By.cssSelector("body")).sendKeys(Keys.chord(Keys.CONTROL, "a"));
Run Code Online (Sandbox Code Playgroud)

  • 此解决方案在Linux上的Chrome中不起作用.可能是什么原因? (3认同)
  • @baltoro在python中你只需`send_keys(Keys.CONTROL +"a")` (3认同)
  • 当我使用和弦时,由于某些原因,我得到`AttributeError:type object'Kocks'没有属性'chord'.错误.有什么想法吗? (2认同)
  • @baltusaj您可能使用了错误的密钥.你需要使用org.openqa.selenium.Keys (2认同)

Lui*_*kal 17

你试过和弦Ctrl+ A键吗?以下代码适用于我的情况:

element.sendKeys(Keys.chord(Keys.CONTROL, "a"));
Run Code Online (Sandbox Code Playgroud)