2015-06-26 105 views
0

我試圖在YouTube上的video manager中查看所有上傳視頻的觀看網址。如何選擇頁面上的所有視頻?我發現vm-video-title-content yt-uix-sessionlink這個類名存在於每個視頻的a標記中,但它如何用來檢索所有href屬性?我正在努力與選擇。選擇所有YouTube視頻

這是HTML片段我基本上處理:

<a href="/watch?v=THE_WATCH_ID" class="vm-video-title-content yt-uix-sessionlink" data-sessionlink="THE_SESSION_LINK_ID_OR_SOMETHING">THE_VIDEO_TITLE</a> 

Selenium我試圖做

By videoSelector = By.className("vm-video-title-content.yt-uix-sessionlink"); 
List<WebElement> webElements = webDriver.findElements(videoSelector); 
System.out.println(webElements.size()); 

但打印尺寸爲0

注意,我自compound class names are not supported以來,在班級名稱中放置了一個點。

我的方法很有前景嗎?或者有更好的方法嗎?

回答

0

我想你誤解了「類」,以及它們是如何在HTML中工作的。

您的HTML示例指定了兩個類別:vm-video-title-contentyt-uix-sessionlink。請注意,這是一個以空格分隔的列表!

您的Java代碼是要求完全不同的類:vm-video-title-content.yt-uix-sessionlink。請注意,通過精確的字符串比較來完成!

如果你嘗試類似:

By videoSelector = By.className("vm-video-title-content"); 

你應該接近你想要什麼。

+0

好的,但我仍然得到0結果。如果這個類存在,怎麼會這樣呢? – BullyWiiPlaza

+0

可能值得指出的是,谷歌爲了阻止人們自動化/刮取他們的網站而走出困境。 – SiKing

+0

我不認爲任何事情都會阻止知識豐富的人做任何自動化操作,所以我希望有人能夠幫助我完成這項任務,因爲它顯然不是「不可能的」 – BullyWiiPlaza

相關問題