で働いていない私は、この構造からテキスト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
を返します。
なぜ機能しないのですか?
あなたは要素を検索しようとしているとき、それはそれはテキストなしでDOM
上に存在します.Text
は、あなたのケースで動作していない理由を、可能かもしれないと言うのは難しいです、ですから、要素は以下のように存在するようになるまで待たなければ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 –