无法使用Selenium IE Driver进行自动化亚马逊搜索

时间:2012-11-24 04:02:23

标签: selenium internet-explorer-8 selenium-webdriver

当我尝试在amazon.com上执行自动搜索时,它会抛出异常'Element Not Found',即使该元素存在也是如此。我正在尝试通过其ID访问搜索文本框。

以下是对它的一些观察:

  • Amazon search page具有搜索组件的正确ID但是Selenium仍然无法找到该元素,因此抛出异常“未找到元素”。
  • 如果您在加载亚马逊网站后放置了一些延迟,那么尝试找到该元素,抛出异常“未找到窗口”。
  • 当我尝试使用Selenium Driver获取页面源时,它也无法获取正确的源代码。我得到了在IE打开后立即显示的html页面的来源。

我怀疑亚马逊加载了一些javascript来阻止自动访问,我不确定。

如果有任何建议可以解决此问题。

如果有人遇到此类问题,请分享您的经验。

感谢。

2 个答案:

答案 0 :(得分:2)

为我工作..

InternetExplorerDriver d1 = new InternetExplorerDriver();
d1.get("http://www.amazon.com/");
d1.findElementById("twotabsearchtextbox").sendKeys("cheese");
d1.quit;

这将打开IE 8窗口并在搜索框中键入奶酪。注意:我在webdriver 2.25上,并从here下载了最新的IEDriver。

希望您已将保护模式设置为启用,或者将IE设置中的所有安全区域设置为相同。

答案 1 :(得分:0)

 InternetExplorerDriver driver = new InternetExplorerDriver();
 driver.get("http://www.amazon.com/");
 driver.findElement (By.id("twotabsearchtextbox").sendKeys("state");
 or
 driver.findElement (By.xpath("//input[@id='twotabsearchtextbox']").sendKeys("state");
 or
 driver.findElement (By.xpath("//input[@name='field-keywords']").sendKeys("state"); 
 driver.quit;