J'ai fait ce Selenium script comme une pratique pour scrapper des pages lourdes en JS.
Les programmes, démarrer un WebDriver entre un site web, puis appuyer sur un bouton pour qu'ils s'affichent tous, puis je veux juste tirer quelques données, les noms des clubs, mais il y a un problème.
Il imprime juste [], quelqu'un peut-il me dire ce que je fais de mal ici ?
Et mon but est d'obtenir les noms des clubs comme Acadiana Kennel Club, Inc.
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
option = webdriver.ChromeOptions()
option.add_argument(" - incognito")
browser = webdriver.Chrome('/home/djurovic/Desktop/Linux ChromeDriver/chromedriver', chrome_options=option)
browser.get('https://webapps.akc.org/club-search/?fbclid=IwAR1X9TkSI49bHgH3w4VmgrMS05sxLbbazaMO17Q1rEfVq7Pj4Ze66B4hdLM#/agility')
timeout = 20
buttonXpath = '//a[@class="button"]'
namesXpath = '//*[@class="ng-binding"]/text()'
try:
buttonElement = WebDriverWait(browser, timeout).until(lambda browser: browser.find_element_by_xpath(buttonXpath))
buttonElement.click()
clubNames = WebDriverWait(browser, timeout).until(lambda browser: browser.find_elements_by_xpath(namesXpath))
print(clubNames)
except TimeoutException:
print('Timed out waiting for page to load')
browser.quit()