2015-11-24 2 views
-1

Я новичок в селене и затрудняюсь в поиске элемента.Как найти href и щелкнуть ссылку, используя селен

Я хочу очистить от новостей Google. Я могу ввести текст и выполнить поиск результатов. Скажем, я ищу новости о Microsoft и возвращает список новостей.

Моя конечная цель - щелкнуть ссылки по одному и извлечь содержание новостей каждой ссылки. Но я теперь застрял в том, как нажать ссылку.

, когда я правой кнопкой мыши на «проинспектировать элемент», то связующая часть в виде

enter image description here

Я попытался

browser.find_element_by_class_name('l _HId') 
browser.find_element_by_partial_link('/url?sa=t&rct=j&q=&esrc=s&source=newssearch&amp') 
browser.find_element_by_xpath('//*[@id="rso"]/div[2]/div/div[1]/h3/a') 

, но ни один из них не работал. Все это вернуло ошибку: не удалось найти элемент. Может кто-нибудь сказать мне, почему и как найти элемент?

Я взаимодействую с firefox и использую python 3.4 в Windows 7. Другая проблема заключается в том, что в firefox нет «copy xpath», хотя я установил firebug и firepath. Xpath выше был скопирован из Chrome на самом деле.

+1

Будучи «новый к Selenium ", рассмотрели ли вы чтение руководства? https://code.google.com/p/selenium/wiki/GettingStarted – SiKing

ответ

0

я полагаю, вы с помощью Java, но я могу дать вам идею в C# (синтаксис немного отличается, но идея та же)

IList<IWebDriver> elements = driver.FindElements(By.TagName("a")); //Will give you all the links on page. 
string link1Text = elements[0].Text //Will give you the text. 
string link1 = elements[0].GetAttribute("href"); // will give you the link url. 

и так далее ...