Как получить следующий элемент определенного класса в селене, используя Python - PullRequest
0 голосов
/ 08 января 2019

Я полный новичок в селене. Я хотел бы знать, например, при загрузке страницы Reddit, как получить все заголовки сообщений Reddit на этой странице. Я знаю, что заголовок HTML для них - h2, и я знаю, как получить первый заголовок сайта Reddit. Однако, как вы переключаетесь на следующий элемент того же класса , чтобы захватить его? Я использую питон и селен. Спасибо!

Ответы [ 4 ]

0 голосов
/ 08 января 2019

Вопрос озадачен, но я думаю, что вы просто хотите перебрать все элементы на странице с тегом h2.

например:

elements = driver.find_elements_by_tag_name('h2')
for element in elements:
    print(element.text)
0 голосов
/ 08 января 2019

Если вам нужен простой пример того, как перебирать элементы в теле, не стесняйтесь проверить мой мини-проект на https://github.com/kerwei/LimaSE_Scraper/blob/master/lima_scrape.py

Линии 113 - 114, вероятно, будут вам интересны.

Как указано в предыдущем ответе:

driver.find_elements_by_xpath(pattern)

получает вам все целевые элементы. Обратите внимание на элемент (ы) в элементе s . После этого вам нужно только пройти через итерации, возвращаемые методом.

0 голосов
/ 08 января 2019

В частности, для reddit, чтобы получить список всех заголовков на странице, используйте driver.find_elements_by_css_selector(".imors3-0.euspgB"), чтобы получить массив всех заголовков на странице.

0 голосов
/ 08 января 2019

Сначала вы хотите получить все элементы вашего класса (обновите myClass до нужного вам класса):

driver.find_elements_by_class_name("myClass")

Затем все элементы этого класса сохраняются в массиве. Я дам вам попробовать разобраться, как получить доступ ко второму элементу из этого

...