我试图运行以下代码,但是我一直在选择元素上获得一个空指针.
下面是我使用的代码示例:
@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函数,所以我们必须找到一种方法来处理..。我在落地后投了一球,但那只给了我一片空白。
发布于 2015-06-16 17:09:28
我今天解决了问题,
问题是我需要使用页面工厂,而且因为我使用的是一个Webdriver页面对象,在这里我定义了我的was驱动程序(所有3种不同的浏览器),所以我需要在我的函数之前放置pagefactory,现在他不再返回一个空指针了,因为现在这个函数得到了正确的驱动程序,而且一切正常。
发布于 2015-06-15 14:26:03
如果没有className、id或名称,则始终可以使用xpath定位select元素。您得到了一个异常,因为select的构造函数需要一个null
发布于 2015-06-16 05:04:45
首先,select类具有如下构造函数:
Select(WebElement element)所以如果你喜欢下面的话,它应该能用:
@FindBy(id="ddCompany")
private WebElement Select;
Select dropdown = new Select(Select);
dropdown.getOptions().get(1).click();确保查找元素的ID是正确的。
您可以查看更多关于这里选择机构的信息。
https://stackoverflow.com/questions/30846896
复制相似问题