首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有的FindBy

带有的FindBy
EN

Stack Overflow用户
提问于 2015-06-15 13:49:11
回答 4查看 7.4K关注 0票数 4

我试图运行以下代码,但是我一直在选择元素上获得一个空指针.

下面是我使用的代码示例:

代码语言:javascript
复制
  @FindBy(id="ddCompany")
    WebElement Select;

  public void Test(){

    driver.findElement(By.id("igtxtdfUsername")).sendKeys("dimitri");
        Select dropdown = new Select(Select);
        dropdown.getOptions().get(1).click();

    driver.findElement(By.id("igtxtdfPassword")).sendKeys("dimitri");
    driver.findElement(By.id("Login")).click();
    driver.quit();

我们不能使用Driver.findElement函数,所以我们必须找到一种方法来处理..。我在落地后投了一球,但那只给了我一片空白。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-06-16 17:09:28

我今天解决了问题,

问题是我需要使用页面工厂,而且因为我使用的是一个Webdriver页面对象,在这里我定义了我的was驱动程序(所有3种不同的浏览器),所以我需要在我的函数之前放置pagefactory,现在他不再返回一个空指针了,因为现在这个函数得到了正确的驱动程序,而且一切正常。

票数 1
EN

Stack Overflow用户

发布于 2015-06-15 14:26:03

如果没有className、id或名称,则始终可以使用xpath定位select元素。您得到了一个异常,因为select的构造函数需要一个null

https://code.google.com/p/selenium/source/browse/java/client/src/org/openqa/selenium/support/ui/Select.java

票数 2
EN

Stack Overflow用户

发布于 2015-06-16 05:04:45

首先,select类具有如下构造函数:

代码语言:javascript
复制
Select(WebElement element)

所以如果你喜欢下面的话,它应该能用:

代码语言:javascript
复制
@FindBy(id="ddCompany")
private WebElement Select;
Select dropdown = new Select(Select);
dropdown.getOptions().get(1).click();

确保查找元素的ID是正确的。

您可以查看更多关于这里选择机构的信息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30846896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档