I would like to get the number of rounds (14, 15, 16, 17, etc.), then just scrape the numbers, no ".ROUND". I wrote a basic version and a better version, but they don't work. I don't get errors, but I get >>>>
(without any text). How to do?
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
wait = WebDriverWait(driver, 20)
Values_PremierLeague = []
driver.get("https://www.betexplorer.com/soccer/england/premier-league/fixtures/")
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "th.h-text-left")))
for PremierLeague in driver.find_elements(By.CLASS_NAME, "th.h-text-left"):
PremierLeague_text = PremierLeague.text
Values_PremierLeague.append(tuple([PremierLeague_text]))
print(PremierLeague_text)
driver.close
or
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import re
wait = WebDriverWait(driver, 20)
Values_PremierLeague = []
driver.get("https://www.betexplorer.com/soccer/england/premier-league/fixtures/")
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".table-main__datetime")))
for PremierLeague in driver.find_elements(By.XPATH, "//*[@class='h-text-left' and contains(text(),'Round')]"):
PremierLeague_text = PremierLeague.text
number = re.findall(r'\d+', s)
Values_PremierLeague.append(tuple([number]))
print(number)
driver.close
UPDATE
CREATE TABLE "BASE_Giornate" (
"ID_Round" INTEGER,
"Number_Round" INTEGER,
"Id_Tournment" INTEGER,
PRIMARY KEY("ID_Giornata" AUTOINCREMENT)
);
and the code already working
sqlite_insert_query_PremierLeague = 'INSERT INTO BASE_Giornate (Number_Round) VALUES (?);'
cursor.executemany(sqlite_insert_query_PremierLeague, Values_PremierLeague)
count_squadre_PremierLeague = cursor.rowcount
con.commit()