工作,我想从这个结构得到文本Sample
:.TEXT不是硒PhantomJS C#
<td id="IDName">Sample</td>
所以我尝试这样的:
driver1.FindElement(By.Id("IDName")).Text;
,但它总是返回null
。
有什么理由不工作?
工作,我想从这个结构得到文本Sample
:.TEXT不是硒PhantomJS C#
<td id="IDName">Sample</td>
所以我尝试这样的:
driver1.FindElement(By.Id("IDName")).Text;
,但它总是返回null
。
有什么理由不工作?
这很难说,为什么.Text
是不是在你的情况下工作,可能是可能的,当你会发现元素是存在于DOM
没有文字,所以你应该WebDriverWait
等到元素如下存在: -
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IWebElement element = wait.Until(ExpectedConditions.ElementExists(By.Id("IDName")));
element.Text;
或者也许是可能它的设计问题,你的HTML,那么你可以通过如下使用.GetAttribute("innerHTML")
获取文本: -
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IWebElement element = wait.Until(ExpectedConditions.ElementExists(By.Id("IDName")));
element.GetAttribute("innerHTML");
或者,你可以通过使用获取文本如下: -
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IWebElement element = wait.Until(ExpectedConditions.ElementExists(By.Id("IDName")));
element.GetAttribute("textContent");
希望它能帮助... :)
看看它是否下架的HTML DOM –