无法在selenuim中使用元素

时间:2015-12-07 18:46:18

标签: selenium xpath selenium-webdriver

我无法使用xpath或ID与WebElement进行交互。在我们的登录页面上它工作正常,但接下来我得到NoSuchElement异常,例如我想与位于搜索对话框中的文本输入进行交互。

Page Screenshot

此元素的DOM如下所示:DOM screenshot

我尝试使用xpath表达式:

  1. .//input[contains(@id, 'frmMain_ctrlSearchString')][1]
  2. .//input[contains(@id, 'frmMain_ctrlSearchString')][2]
  3. .//span[contains(@id, 'frmMain_ctrlSearchString')][1]
  4. .//span[contains(@id, 'frmMain_ctrlSearchString')][2]
  5. 还使用By.Id expression
  6. 使用了一些完整的ID

    WebDriver的switchTo().activeElement().sendKeys();效果很好

    提前谢谢!

3 个答案:

答案 0 :(得分:0)

看起来像是等待问题

登录后,它会尝试在下一页上查找元素,但由于未加载页面,您将获得 NoSuchElement异常。为了解决这个问题,您需要添加一个等待

以下是与UI元素交互时如何以及何时使用wait的示例

答案 1 :(得分:0)

您是否测试过在浏览器中使用的xpath? Firefox有很多插件,其中一个是XPather

答案 2 :(得分:0)

尝试/检查:

  1. 等待更长时间
  2. 检查它是否在某个框架中(必须切换)
  3. 检查正确的xpath或标识符,如果DOM之前没有其他元素,并且具有合适的标识符