Java Selenium Webdriver—能够通过firebug定位元素,但在Webdriver上不会出现任何TouchElementException
发生的事情是,我有这个网页: 下面的Java Selenium Webdriver—能够通过firebug定位元素,但在Webdriver上不会出现任何TouchElementException,java,html,selenium,selenium-webdriver,webdriver,Java,Html,Selenium,Selenium Webdriver,Webdriver,发生的事情是,我有这个网页: 下面的div是在上面的屏幕截图中以青色显示的内容。我已经圈出了我要查找的文本: 我尝试过Xpath和CSS。它们都在Firebug中工作,并且都在这个浮动div中很好地定位元素。但是当我运行脚本时,我得到了NoTouchElement异常 -我怀疑的事情: 如您所见,此div是对另一个网页的调用(由 div中的整个html树)。这可能就是原因 Webdriver下了地狱,什么也没找到。但我不知道 如何告诉它看这个窗口 div的作用就像一个浮动弹出窗口,使其余部分变
div
是在上面的屏幕截图中以青色显示的内容。我已经圈出了我要查找的文本:
我尝试过Xpath和CSS。它们都在Firebug中工作,并且都在这个浮动div中很好地定位元素。但是当我运行脚本时,我得到了NoTouchElement异常
-我怀疑的事情:
driver.findElement(By.cssSelector(".feature>tbody>tr>td[width='312']")
因此,这里的问题是:如果我的xpath/css定位器手动工作,而不是与WebDriver一起工作,那么如何在这些
td
中定位此文本?请参见iframe
元素-这就是您获得异常的原因
在查找元素之前,需要切换到iframe
:
driver.switchTo().frame("Content")
或者(如果由于id
中的空格而无法工作):
请参阅
iframe
元素-这就是您获得异常的原因
在查找元素之前,需要切换到iframe
:
driver.switchTo().frame("Content")
或者(如果由于id
中的空格而无法工作):
请参阅
iframe
元素-这就是您获得异常的原因
在查找元素之前,需要切换到iframe
:
driver.switchTo().frame("Content")
或者(如果由于id
中的空格而无法工作):
请参阅
iframe
元素-这就是您获得异常的原因
在查找元素之前,需要切换到iframe
:
driver.switchTo().frame("Content")
或者(如果由于id
中的空格而无法工作):
你可能需要切换到iframe?你可能需要切换到iframe?你可能需要切换到iframe?你可能需要切换到iframe?记住,如果你需要返回,一定要从iframe切换回默认内容。空格就在那里,因为我把它们涂白了。谢谢你!在我们说话的时候尝试你的答案。@patricmj是通过driver.switchTo().parentFrame()@它将是
驱动程序。切换到().defaultContent()
。谢谢你,patricmj,说得好!令人惊叹的。谢谢你们!记住,如果你需要返回的话,一定要从iframe切换回默认内容。空格就在那里,因为我把它们涂掉了。谢谢你!在我们说话的时候尝试你的答案。@patricmj是通过driver.switchTo().parentFrame()@它将是驱动程序。切换到().defaultContent()
。谢谢你,patricmj,说得好!令人惊叹的。谢谢你们!记住,如果你需要返回的话,一定要从iframe切换回默认内容。空格就在那里,因为我把它们涂掉了。谢谢你!在我们说话的时候尝试你的答案。@patricmj是通过driver.switchTo().parentFrame()@它将是驱动程序。切换到().defaultContent()
。谢谢你,patricmj,说得好!令人惊叹的。谢谢你们!记住,如果你需要返回的话,一定要从iframe切换回默认内容。空格就在那里,因为我把它们涂掉了。谢谢你!在我们说话的时候尝试你的答案。@patricmj是通过driver.switchTo().parentFrame()@它将是驱动程序。切换到().defaultContent()
。谢谢你,patricmj,说得好!令人惊叹的。谢谢你们!