java - Selenium WebDriver Java keyDown not working
问题描述
I'm learning Selenium WebDriver and have one problem. I want to search on amazon website for "car" with uppercaste. I use keyDown, but it does not work. The test programm fits only "car" with lowercase.
HTML code:
<input id="twotabsearchtextbox" value="" name="field-keywords" autocomplete="off" placeholder="" class="nav-input" dir="auto" tabindex="19" type="text">
JAVA code:
public class FirstTestCase {
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.gecko.driver", "C:\\Users\\Downloads\\geckodriver-v0.21.0-win64\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("https://www.amazon.com/ref=nav_logo");
WebElement search = driver.findElement(By.id("twotabsearchtextbox"));
Actions builder2 = new Actions(driver);
Action seria = builder2
.moveToElement(search)
.click()
.keyDown(search, Keys.SHIFT)
.sendKeys(search, "car")
.keyUp(search, Keys.SHIFT)
.sendKeys(Keys.ENTER)
.build();
seria.perform();
}
Firefox version: 61.0.1
Geckodriver version: 0.21.0
I would be grateful for help :)
解决方案
seria.keyDown(search, Keys.SHIFT).sendKeys("car").keyDown(search, Keys.SHIFT).build().perform();
This code should work properly for you.
推荐阅读
- python - CNTK中的sequence.pad_sequences(keras)等价物是什么
- php - 有人可以解释这段代码如何返回 4
- c# - C# OpenXML SDK - 从幻灯片母版插入新幻灯片
- ios - 旧设备上的异步 DispatchQoS.QoSClass.background
- rxjs - RxJs 如何完成内部 observable
- maven - maven-cucumber-reporting 插件未生成报告 - 没有任何反应
- android - 制作包含 YouTube 视频的 Android 应用付费的 Monetize Ads 是否合法
- python - Python:“ImportError:DLL 加载失败:找不到指定的模块。” 导入ffn时的问题(python的财务库)
- svg - 无法从 qtwebkit 5.4.2 上的文件 (*.svg) 加载 svg 图像 - WEC7-x86
- javascript - 如何在没有表单的情况下提交动态数据?