我正在构建一个网络爬虫程序包,我正在尝试使用selenium进行一些按键操作。但是,我发现像Keys.SHIFT
或Keys.CONTROL
这样的密钥根本不起作用。但如果我手动按下它们,它们就会起作用。
我在下面尝试了两行代码,但都没有。
ac.key_down(Keys.LEFT_SHIFT).send_keys(Keys.F2).key_up(Keys.LEFT_SHIFT).perform()
elem1.send_keys(Keys.SHIFT+Keys.F2)
我试图在Firefox中打开开发人员工具
答案 0 :(得分:0)
要按shift& F2键,请使用以下代码:
driver.FindElement(By.XPath(" Xpath loaction")).SendKeys(Keys.LeftShift);
driver.FindElement(By.XPath(" Xpath loaction")).SendKeys(Keys.F2);
答案 1 :(得分:0)
根据您的版本(浏览器,浏览器驱动程序,selenium等)检查此帖子https://github.com/mozilla/geckodriver/issues/665,这些帖子总是明智地包括在任何问题中),它可能是控制键的geckodriver的已知错误。
该帖子包括以不同的方式创建和弦,使用:
List<CharSequence> keyWithModifiers = new ArrayList<CharSequence>();
keyWithModifiers.add(Keys.CONTROL);
keyWithModifiers.add("a");
String ctrlA = Keys.chord(keyWithModifiers);
textFieldElem.sendKeys(ctrlA);
这种方法适用于我使用Selenium 3.7.1 Java绑定,gecko驱动程序0.18.0(64位)和Firefox 57.0.2 - 59.0