Javascript 如何获取Selenium JS中的子节点数
我正在为我的一个小项目浏览一个网站,我想知道教师姓名的数量。Javascript 如何获取Selenium JS中的子节点数,javascript,selenium,selenium-webdriver,Javascript,Selenium,Selenium Webdriver,我正在为我的一个小项目浏览一个网站,我想知道教师姓名的数量。 名称位于标记下的标记中。 我想把教员的名字推到一个列表中,现在我正在用网站上的教员的硬编码编号来做这件事。现在还可以,但是数字可能会改变,如果他们增加更多的能力,我希望我的代码能够正常工作 var listOfFaculties = []; for(var i = 2; i <= 18; i++){ // start with inedx 2 and go to 18 (from the first to the last fa
名称位于
标记下的
标记中。我想把教员的名字推到一个列表中,现在我正在用网站上的教员的硬编码编号来做这件事。现在还可以,但是数字可能会改变,如果他们增加更多的能力,我希望我的代码能够正常工作
var listOfFaculties = [];
for(var i = 2; i <= 18; i++){ // start with inedx 2 and go to 18 (from the first to the last faculty on the site) -- HARDCODED
await driver.findElement(By.xpath(getXPath(i))).getText().then(function(value) {
listOfFaculties.push({
Faculty: value
});
});
}
function getXPath(num){
return "//div[@id = 'main']/center[2]/font[@class='normal']/table/tbody/tr[" + num + "]/td[1]";
}
var-listofaculties=[];
对于(var i=2;i使用WebElement
列表获取教员长度
您修改后的代码应类似于-
List<WebElement> elements = driver.findElements(By.xpath("//div[@id = 'main']/center[2]/font[@class='normal']/table/tbody/tr"));
var listOfFaculties = [];
for(var i = 2; i < elements.size(); i++){
await driver.findElement(By.xpath(getXPath(i))).getText().then(function(value) {
listOfFaculties.push({
Faculty: value
});
});
}
function getXPath(num){
return "//div[@id = 'main']/center[2]/font[@class='normal']/table/tbody/tr[" + num + "]/td[1]";
}
List elements=driver.findElements(By.xpath(“/div[@id='main']/center[2]/font[@class='normal']]/table/tbody/tr”);
var listOfFaculties=[];
对于(var i=2;i
您可以执行脚本返回参数[0].childNodes.length;“
其中参数[0]
是目标tbody
node@Andersson谢谢!如何在javascript中获得列表元素?