如何通过selenium webdriver识别webelement按钮
executeScript方法未定义。在哪里添加这个
driver.executeScript("return $('body /deep/ <#selector>')")
?
答案 0 :(得分:0)
尝试使用以下代码检索所有下拉列值
WebDriverWait wait = new WebDriverWait(d, 10);
WebElement selectMonth = wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[@title = 'Birthday']")));
selectMonth.click();
List<WebElement> allmonths = wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.cssSelector("span#BirthMonth > div.goog-menu.goog-menu-vertical")));
for(WebElement month : allmonths) {
System.out.println(month.getText());
希望它会有所帮助
答案 1 :(得分:0)
我们将在下面的场景中得到这种类型的异常。
jQuery
。jQuery
库未成功加载。首先在jQuery
中嵌入检查页面,方法是在浏览器控制台上执行以下命令
window.jQuery=='undefine' // Its for checking jQuery is present on page if yes then return true.
和
jQuery.active==0 // Its for checking jquery is activated on page if yes then return true.
然后尝试以下代码
String getArgument="0"; // take single element
//String getArgument="";// take list of matched element
((JavascriptExecutor) driver).executeScript("return $( #selector).get(" + getArgument + ");");
答案 2 :(得分:0)
您可以使用getTagName()
简单地识别元素,如下所示: -
WebElement element = driver.findElement(By.id("countTd"));
// To verify if element is button
if(element.getTagName().equals("button")) {
element.click();
}
// To verify if element is dropdown
if(element.getTagName().equals("select")) {
// Now pass it to Select class to work
Select selectElement = new Select(element);
// Now you can get all options
List<WebElement> options = selectElement.getOptions();
//Now you can print all options text
for(WebElement option : options) {
System.out.println(option.getText());
}
}
节点: - 无需使用JavascriptExecutor
执行点击,只需调用.click()
方法即可执行此操作。
希望它有所帮助.. :)