Использование Selenium и BeautifulSoup Specific не возвращает таблицу, предоставляя идентификатор таблицы Python3.7 (возвращает пустой массив) - PullRequest
0 голосов
/ 01 октября 2018

Я пытаюсь получить определенную таблицу с веб-страницы, используя BeautifulSoup4 и Selenium, таблица там присутствует, но она не загружается с использованием этого кода.Я попробовал это

from bs4 import BeautifulSoup
from selenium import webdriver
import time

driver = webdriver.Chrome()
url = 'https://de.sharkscope.com/#Find-Tournament/networks/PokerStars/tournaments/2412466083'
driver.get(url)
res = driver.execute_script("return document.documentElement.outerHTML")
time.sleep(5)
driver.quit()

soup = BeautifulSoup(res, 'lxml')
targetTable = soup.findAll('table', {'id': 'tournamentgrid-1538318460041'})
print(targetTable)

таблица скриншотов с идентификатором и результатом DisplayResult

Платформа и инструменты

  • Microsoft Windows 10 x64
  • Использование Chromium Webdriver (установленная версия 32bit)

Отредактировано.Я уже пробовал

table = driver.get_element_by_id('tournamentgrid-1538318460041')

&

table = driver.get_element_by_xpath('//*[@id="tournamentgrid-1538398792982"]')

1 Ответ

0 голосов
/ 01 октября 2018

Вы можете попытаться получить доступ к таблице, используя ее xpath

driver.find_element_by_xpath('xpath_here')

или, в качестве альтернативы, вы можете получить все строки таблицы (все <tr> элементы элемента) с помощью

driver.find_elements_by_xpath('xpath_here') 

и пройти черезсписок элементов строки для извлечения необходимых данных, например, использование .text для извлечения текста. https://selenium -python.readthedocs.io / api.html для получения более подробной информации

...