2016-04-14 17 views
0

所以即時嘗試收集一些數據與硒使用C#和我是相當新的它,至少收集數據的一部分,即時通訊試圖實現的是,當我按下按鈕IS收集一些數據,並把它放在一個文本框,就這麼簡單,唯一的事情是,當我運行我的代碼,它不使用標籤,按鈕收集什麼東西簡單的抓取/數據收集與C#Selenium不工作

IM

private void label11_Click(object sender, EventArgs e) 
    { 
     var getTopFive = new FirefoxDriver(); 
     getTopFive.Navigate().GoToUrl("http://www.rottentomatoes.com/top/bestofrt/top_100_action__adventure_movies/"); 

     foreach (var item in getTopFive.FindElements(By.TagName("a"))) 

      //this is where I left off 

     { 
      activeTextBox.Text = (item.GetAttribute("class")); 

     } 

我想我搞砸它與FindElements & GetAttribute但我不知道

+0

你想要在'activeTextBox'中出現什麼? – Guy

+0

@Guy我想從網站獲取文本並添加到文本框中,我的目標是讓它顯示出前20名電影名稱 –

+0

@Guy你知道可能是什麼問題嗎? –

回答

0

使用標籤<a>會給你很多不連接到電影的元素。您需要爲它們找到唯一的標識符,如[itemprop='url']

IList<IWebElement> movies = getTopFive.FindElements(By.CssSelector("[itemprop='url']")); 

會給你所有的電影列表。你可以使用Text屬性來提取電影名稱

for (int i = 0 ; i < 20 ; ++i) 
{ 
    activeTextBox.Text = movies[i].Text; 
} 
+0

我會試試這個!我可以看到你對這個主題有很多瞭解,這可能是錯誤的,但你有沒有Skype或類似的東西? –

+0

我想我明白了,即時通訊的問題是瞭解何時以及如何使用「FindElements(By.CssSelector(」[itemprop ='url']「));」
我怎麼會知道itemprop ='url是一個CssSelector –

+0

另外!該代碼僅在網站上顯示第20個視頻標題,我查看了循環,我似乎無法找到任何問題 –