如何使用Selenium WebDriver 2获取元素id

Nic*_*ahn 14 selenium webdriver selenium-webdriver

编辑:我也试过这个

 var webElements1 = (Driver.FindElements(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_Control1_lstCategory']//input"))).ToList();
Run Code Online (Sandbox Code Playgroud)

我得到空文本

我正试图找到一种方法从我正在获取的列表中获取ID,下面是我的代码和我的屏幕的打印镜头.

// WebDriver获取文本列表

下面的代码返回我的记录正确的号码,但它只是给我Text,但我之后TextId一个特定的Text

我试过这个:

var webElements1 = (Driver.FindElements(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_Control1_lstCategory']/tbody/tr/td/span"))).ToList();
Run Code Online (Sandbox Code Playgroud)

这个

var webElements2 = (Driver.FindElements(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_Control1_lstCategory']/tbody/tr/td"))).ToList();
Run Code Online (Sandbox Code Playgroud)

还有这个...

var webElements3 = (Driver.FindElements(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_Control1_lstCategory']"))).ToList();
Run Code Online (Sandbox Code Playgroud)

行的所有代码给了我正确的回报但没有Id.

这是我的页面的打印屏幕:

在此输入图像描述

San*_*rma 22

在使用下面的方法获取所有元素之后,在循环中运行以获取所有元素的id:

List<WebElement> element = driver.findElements(By.XPath("//*[@id='ctl00_ContentPlaceHolder1_Control1_lstCategory']//input")));

for(WebElement ele:elements)
{

        ele.getAttribute("id");     // for getting id of each element

        ele.getText();              //for getting text of each element

}
Run Code Online (Sandbox Code Playgroud)