Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取Selenium JS中的子节点数_Javascript_Selenium_Selenium Webdriver - Fatal编程技术网

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中获得列表元素?