0

我尝试在页面中找到一个文本框来发送一个值,但 WebDriver 找不到它。我尝试使用 id、name、xpath 来查找,但没有一个有效

这是代码片段

<dl class="user-info-fields">
  <dd>
    <input id="user_cpf" type="text" size="30" name="user[cpf]">
  </dd>
</dl>

我试图在 DL 标记中找到很多信息,但 WebDriver 从未找到它。

WebDriver API 在处理 DL 下的元素时存在一些限制,或者我做错了什么?

4

1 回答 1

0

我不知道您已经尝试过什么,因为您没有提供任何代码。但是您是否尝试通过 ID 找到它?

在 C# 中,这看起来像:

IWebElement element = webDriver.FindElement(By.Id("user_cpf"));  

同样,如果页面尚未加载,上述方法也可能会失败。WebDriver 有许多提供等待的内置方法(http://seleniumhq.org/docs/04_webdriver_advanced.jsp)。

测试这一点的最简单方法是在尝试查找元素之前执行一个简单的 Thread.Sleep(5000)* 。

*在生产代码中,尽量避免硬编码等待。

于 2013-01-11T20:16:59.657 回答