比较来自世界各地的卖家的域名和 IT 服务价格

如何检查元素的存在或可见性 selenium 2 /Selenium WebDriver/

任何人都可以发给我一个示例代码如何检查元素

变态

财产 IsVisible

isenable

textpresent

在 Selenium WebDrvier 使用 Java
已邀请:

八刀丁二

赞同来自:

我用了 java 打印说明,以便于理解。

要检查项目的存在:


if/driver.findElements/By.xpath/"value"//.size// != 0/{
System.out.println/"Element is Present"/;
}else{
System.out.println/"Element is Absent"/;
}


或者


if/driver.findElement/By.xpath/"value"//!= null/{
System.out.println/"Element is Present"/;
}else{
System.out.println/"Element is Absent"/;
}


检查可见性:


if/ driver.findElement/By.cssSelector/"a > font"//.isDisplayed///{
System.out.println/"Element is Visible"/;
}else{
System.out.println/"Element is InVisible"/;
}


要检查启用:


if/ driver.findElement/By.cssSelector/"a > font"//.isEnabled///{
System.out.println/"Element is Enable"/;
}else{
System.out.println/"Element is Disabled"/;
}


检查文本的存在


if/driver.getPageSource//.contains/"Text to check"//{
System.out.println/"Text is present"/;
}else{
System.out.println/"Text is absent"/;
}

涵秋

赞同来自:

你可以尝试这样的东西:


WebElement rxBtn = driver.findElement/By.className/"icon-rx"//;
WebElement otcBtn = driver.findElement/By.className/"icon-otc"//;
WebElement herbBtn = driver.findElement/By.className/"icon-herb"//;

Assert.assertEquals/true, rxBtn.isDisplayed///;
Assert.assertEquals/true, otcBtn.isDisplayed///;
Assert.assertEquals/true, herbBtn.isDisplayed///;


这只是一个例子。 主要是您声明并定义变量 WebElement, 你想用的是哪个然后
Assert

, 他们显示是否显示。 这是使用陈述 TestNG.

冰洋

赞同来自:

这是我的代码 Java 为了 Selenium WebDriver. 写下以下方法并在批准期间调用它:


protected boolean isElementPresent/By by/{
try{
driver.findElement/by/;
return true;
}
catch/NoSuchElementException e/{
return false;
}
}

君笑尘

赞同来自:

尝试使用下面的代码:


private enum ElementStatus{
VISIBLE,
NOTVISIBLE,
ENABLED,
NOTENABLED,
PRESENT,
NOTPRESENT
}
private ElementStatus isElementVisible/WebDriver driver, By by,ElementStatus getStatus/{
try{
if/getStatus.equals/ElementStatus.ENABLED//{
if/driver.findElement/by/.isEnabled///
return ElementStatus.ENABLED;
return ElementStatus.NOTENABLED;
}
if/getStatus.equals/ElementStatus.VISIBLE//{
if/driver.findElement/by/.isDisplayed///
return ElementStatus.VISIBLE;
return ElementStatus.NOTVISIBLE;
}
return ElementStatus.PRESENT;
}catch/org.openqa.selenium.NoSuchElementException nse/{
return ElementStatus.NOTPRESENT;
}
}

三叔

赞同来自:

webDriver.findElement/By.xpath/"//*[@id='element']"//.isDisplayed//;

八刀丁二

赞同来自:

要确保元素可用,可以执行以下步骤:


driver.findElements/By.id/"id"//;


如果数组的大小,则会返回一个数组 > 0, 那个元素 / s 当下。

此外,您需要提供其他信息,例如语言以及您在询问之前尝试的内容,

祝你好运

喜特乐

赞同来自:

去检查,

可见的

我们需要使用的元素
element.isDisplayed//;

, 但如果我们需要检查

可用性

任何地方的元素 Dom, 我们可以使用以下方法


public boolean isElementPresentCheckUsingJavaScriptExecutor/WebElement element/ {
JavascriptExecutor jse=/JavascriptExecutor/ driver;
try {
Object obj = jse.execute/"return typeof/arguments[0]/ != 'undefined' && arguments[0] != null;",
element/;
if /obj.toString//.contains/"true"// {
System.out.println/"isElementPresentCheckUsingJavaScriptExecutor: SUCCESS"/;
return true;
} else {
System.out.println/"isElementPresentCheckUsingJavaScriptExecutor: FAIL"/;
}

} catch /NoSuchElementException e/ {
System.out.println/"isElementPresentCheckUsingJavaScriptExecutor: FAIL"/;
}
return false;
}

要回复问题请先登录注册