Ich fing an, Webseiten mit Python und Selen zu scrappen. Ich wähle Selen, weil ich durch die Website navigieren muss und ich mich auch anmelden muss.Webscrape Flashscore mit Python/Selen
Ich schrieb ein Skript, das in der Lage ist, ein Firefox-Fenster zu öffnen, und es öffnet die Website www.flashscore.com. Mit diesem Skript kann ich mich auch anmelden und zu den verschiedenen Sportbereichen (Hauptmenü) navigieren, die sie haben.
Der Code:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# open website
driver = webdriver.Firefox()
driver.get("http://www.flashscore.com")
# login
driver.find_element_by_id('signIn').click()
username = driver.find_element_by_id("email")
password = driver.find_element_by_id("passwd")
username.send_keys("*****")
password.send_keys("*****")
driver.find_element_by_name("login").click()
# go to the tennis section
link = driver.find_element_by_link_text('Tennis')
link.click()
#go to the live games tab in the tennis section
# ?????????????????????????????'
Dann ging es schwieriger. Ich möchte zum Beispiel auch zu den Bereichen "Live-Spiele" und "fertige" Tabs im Sportbereich navigieren. Dieser Teil würde nicht funktionieren. Ich habe viele Dinge ausprobiert, aber ich kann nicht auf eine dieser Registerkarten kommen. Bei der Analyse der Website sehe ich, dass sie einige Iframes verwenden. Ich finde auch etwas Code, um zu einem Iframes-Fenster zu wechseln. Aber das Problem ist, ich kann den Namen des Iframe nicht finden, wo die Registerkarten sind, auf die ich klicken möchte. Vielleicht sind die Iframes nicht das Problem und schaue ich in die falsche Richtung. (Vielleicht wird das Problem durch einige Javascript verursacht?)
Kann mir bitte jemand dabei helfen?
Vielen Dank für die Reaktion. Ein Problem. Ich erhalte einen Fehler beim Ausführen meines Skripts. – timovic
Bei der Ausführung dieser: von Selen Import WebDriver von selenium.webdriver.common.keys importieren Keys von selenium.webdriver.support.ui Import von selenium.webdriver.support Import expected_conditions als EC von selenium.webdriver.common WebDriverWait. durch Import von # offen Website driver = webdriver.Firefox() driver.get ("http://www.flashscore.com") #go auf den Live-Spielen Tab im Tennis Abschnitt live_games_link = Warte .until (EC.element_zu_be_klickbar ((By.LINK_TEXT, "LIVE Games"))) live_spiele_link.click() – timovic
Ich bekomme den Fehler: live_games_link = wait.until (EC.eleme nt_to_be_clickable ((By.LINK_TEXT, "LIVE Games"))) NameError: Name 'wait' ist nicht definiert – timovic