2016-06-16 1 views
0

Seleniumを使用してコンソールアプリケーションを作成し、テーブルからテキストを取得します。 'HTMLDocumentの' ほとんどの人々0引数C#でHtmlDocumentを使用できません

I read this answer from question

を取るコンストラクタが含まれていません

IList<IWebElement> tableRows = browser.FindElementsByXPath("id('column2')/tbody/tr"); 
var doc = new HtmlDocument(); 
doc.LoadHtml(tableRows); 

このエラーのように:コードで試してみました

Stackoverflowでusiすることができますng like:

new HtmlDocument

なぜ私はこれを使用できません。 Winformアプリケーションで試してみましたが、HtmlDocumentも使用できません。

HtmlDocumentは、LoadHmtl(String)と思われます。しかし、私のコードはIList<IWebElement>です。

docに追加するには、HTML文字列に変換する方法がわかりません。最初

+1

を送ることができますIWebElementとしてそれを取るとtable.InnerHtml

を使用してLoadHtmlに送信するHTMLブロックを見つけるためにHtmlDocumentクラス用です。 – Adil

+1

これを試してください: 'Install-Package HtmlAgilityPack' –

+0

コメント前に、' HtmlAgilityPack'を使ってコメントを提案してください。ですから、私は 'System.Windows.Web'ネームスペースの' HtmlDocument'と考えています。 'HtmlAgility Pack'で試してみます。 – vanloc

答えて

1
IWebElement table = browser.FindElement(By.Id("column2"); 
var doc = new HtmlDocument(); 
doc.LoadHtml(table.InnerHtml); 

オフあなたはhtmlソースとLoadHtml方法文字列変数に送信する必要がパック敏捷性を使用することを選択した場合は、...セレンを使用してテーブル要素を取得することができ、すべてはそう、あなたが何をする必要があるかであります(お使いの場合は、テーブルがある中で)、彼らが使用しているとしても、あなたは正しくHtmlAgilityパックを使用していますフルページのソースdoc.LoadHtml(driver.PageSource);

+0

コードだけでなく、何らかの説明を提供する可能性があります。生の答えを得るだけでなく、 –

+1

ありがとう@レオンbarkan – vanloc

+0

歓迎、喜んで助けてください。 –

関連する問題