Selenium webdriver脚本输入一个元素的URL并按回车键

时间:2014-08-18 11:00:24

标签: selenium selenium-webdriver

此元素存在于联系表单页面中,就像上传网址,我们需要输入图片的网址并按Enter键

我使用的代码是......使用此代码我可以将文本输入该元素但是没有按下Enter键

    driver.findElement(By.xpath("//*[@id='uploading-url']/input")).sendKeys("http://www.mytabletbooksqa.com/ProductImages/test1.gif");

     WebElement dropdownlists = driver.findElement(By.xpath("//*[@id='uploading-url']/input"));

     Actions builder=new Actions(driver);

     builder.clickAndHold(dropdownlists).sendKeys(dropdownlists, Keys.ENTER).release().build();

     builder.perform();

该元素的HTML代码是

<div id="uploading-url">
<p class="reduce-space"><img alt="web_image" src="/images/content/duelr/web.png"></p>
<input placeholder="Enter URLs to upload from web" type="text"></div>   

请指导我这里可能出现的问题。谢谢你的时间。

3 个答案:

答案 0 :(得分:4)

以下代码可以提供帮助:

WebElement dropdownlists = driver.findElement(By.xpath("//*[@id='uploading-url']/input"));
dropdownlists.sendKeys("http://www.mytabletbooksqa.com/ProductImages/test1.gif");
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);

Lemme知道这是否适合您!

答案 1 :(得分:0)

看起来你们在一起做这些事。我可能是时间的事情。我建议你把这些动作分开一点。

 Actions builder=new Actions(driver);
 builder.clickAndHold(dropdownlists).perform();
 builder.sendKeys(Keys.ENTER).perform();
 builder.release().perform();

然后逐步浏览这些内容,看看一次只能发生一次。如果它是单步执行而不是一次完成,那么我会在下拉列表和输入之间添加一个等待语句。我还删除了发送键的元素部分,因为您已经从上一个操作中获得了焦点。

答案 2 :(得分:0)

虽然使用AWT可能会在浏览器上运行,但它在无头模式下会失败。

您可以使用JDollarx库,只需编写以下内容即可触发按键和释放事件。

  

的SendKeys(Keys.ENTER).toBrowser();

https://github.com/loyada/dollarx