本文介绍了使用 Selenium webdriver 测试自动完成的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个文本框,当我在其中输入一个字母s"时,它会显示一个结果列表(如谷歌搜索).
I have a text box in which when I type one letter say 's' , it displays a list of results ( like google search) .
我正在使用最新的 selenium webdriver 和 java.
I am using latest selenium webdriver with java.
我试过了
sendKeys("s"), JavascriptLibrary jsLib = new JavascriptLibrary(); jsLib.callEmbeddedSelenium(driver, "doFireEvent", driver.findElement(By.id("assetTitle")), "onkeyup"); jsLib.callEmbeddedSelenium(driver, "doFireEvent", driver.findElement(By.id("assetTitle")), "onblur"); jsLib.callEmbeddedSelenium(driver, "doFireEvent", driver.findElement(By.id("assetTitle")), "onclick"); jsLib.callEmbeddedSelenium(driver, "doFireEvent", driver.findElement(By.id("assetTitle")), "onmouseup"); driver.findElement(By.id("assetTitle")).sendKeys(Keys.ENTER);即使在每个步骤后添加等待后,这些都不起作用.
None of these work even after adding wait after each of the steps.
有什么建议吗?
谢谢.
更新:-
WebDriver driver = new FirefoxDriver(); driver.get("www.google"); WebElement query = driver.findElement(By.name("q")); query.sendKeys("s"); driver.findElement(By.xpath("//table[@class='gssb_m']/tbody/tr/td/div/table/tbody/tr/td/span")).click(); driver.findElement(By.name("btnG")).click();更新 2:-
WebDriver driver = new FirefoxDriver(); driver.get("www.kayak/"); WebElement query = driver.findElement(By.name("destination")); query.sendKeys("s");更新 3 :-我尝试使用 Selenium 1,fireevent 方法通过将参数作为keydown"传递来工作.这应该是暂时的解决方法.
Update 3 :- I tried with Selenium 1 and the fireevent method works by passing parameter as 'keydown'. This should be a temporary workaround for now.
WebDriver driver = new FirefoxDriver(); driver.get("www.kayak/"); DefaultSelenium sel = new WebDriverBackedSelenium(driver,"www.kayak/"); sel.type("//input[@id='destination']", "s"); sel.fireEvent("//input[@id='destination']", "keydown"); 推荐答案这应该是暂时的解决方法.
This should be a temporary workaround for now.
WebDriver driver = new FirefoxDriver(); driver.get("www.kayak/"); DefaultSelenium sel = new WebDriverBackedSelenium(driver,"www.kayak/"); sel.type("//input[@id='destination']", "s"); sel.fireEvent("//input[@id='destination']", "keydown");更多推荐
使用 Selenium webdriver 测试自动完成
发布评论