可以在Chrome上找到xpath元素,但无法在Firefox上找到它

时间:2017-10-25 10:44:02

标签: xpath selenium-webdriver

我输入了一封电子邮件的xpath,它是: //输入[@id =' email_input']

我可以在Chrome上找到它,但问题是我无法在Firefox上找到它,而且当我尝试运行它时出现这个错误"服务器没有提供任何堆栈跟踪信息"。

enter image description here

enter image description here

enter image description here

我尝试使用Css选择器,但结果是一样的!那么我有什么问题呢?

2 个答案:

答案 0 :(得分:1)

在Chrome屏幕截图中,工具栏上的粉红色下拉值" fancybox-frame150 ... ",显示当前的iframe。您需要在Firefox中执行相同操作 - 工具栏右侧有一个按钮(请参阅此MDN doc on iframes),选择相同的iframe,您应该能够找到具有相同iframe的元素选择。

要在代码中使用元素,请务必先对帧进行切换,然后再对其执行任何操作,例如:

driver.switchTo().frame("fancybox-frame150"); //be sure to use the full name of the frame
WebElement email = driver.findElement(By.id("email_input"));

//to switch back to the main frame
driver.switchTo().defaultContent();

答案 1 :(得分:0)

不是检查chrome中的元素,而是首先使用firebugfirepath在FF中检查这些元素,这是FF中的附加内容。如果您不知道如何捕获FF中的元素,请参阅this链接。如有任何问题,请告诉我。