Seite 1 von 1

Tab schließen, while oder for?

Verfasst: Mittwoch 1. Juli 2020, 18:09
von Mdoz
Hallo,
ich bin nun seit 4 Tagen dabei zu programmieren(wenn man das was ich mache programmieren nennen darf :D), es ist meine erste Berührung in dieser Richtung, ist meine erste Programmiersprache die ich versuche zu lernen... daher bitte seid nicht so hart mit mir.

Ich versuche ganze Zeit ein Script zu schreiben, dass bei Instagram den Follow Button drückt / oder auf das Herz,
Das ganze versuche ich mit Selenium Webdriver umzusetzen.

Habe zuerst versucht den Follow Button per driver.find_element_by_css_selector anzusprechen, was irgendwie nicht klappt... Dann bin ich auf pyautogui gestoßen womit man "Grafiken identifizieren kann und habe es dann auch so probiert was teilweise funktioniert aber nicht wirklich elegant ist.

Er findet mit pyautogui den Follow Button auch nicht! Aber das "x" im Tab um das Tab zu schließen findet er.... naja ich poste zuerst mal mein Code snippet.. und dann mal schauen.. hoffe ihr könnt mir weiterhelfen

Code: Alles auswählen

def I_gram():
    if len(driver.find_elements_by_xpath(x_path_instagram)) > 0:
        print("Instagram Anzeigen: " + str(len(driver.find_elements_by_xpath(x_path_instagram))))
        instagram_element = driver.find_elements_by_xpath(x_path_instagram + "//a[contains(@href,'')]")
        for element in instagram_element:
            print(element.get_attribute("href"))
            time.sleep(randint(3, 6))
            element.click()
            time.sleep(randint(12, 24))
            try:
                # driver.find_element_by_css_selector("BY3EC.sqdOP.L3NKy.y3zKF").click()
                pyautogui.moveTo(pyautogui.locateOnScreen('likeit.PNG'))
                time.sleep(randint(3, 4))
                pyautogui.click()
            except NoSuchElementException:
                time.sleep(randint(3, 4))
                pyautogui.moveTo(x=1120, y=752)
                time.sleep(randint(3, 4))
                pyautogui.click()

            time.sleep(randint(3, 5))
            pyautogui.click()
            time.sleep(randint(3, 5))
            pyautogui.moveTo(pyautogui.locateOnScreen('x.PNG'))
            time.sleep(randint(3, 5))
            pyautogui.click()
            time.sleep(randint(15, 20))
    else:
        print("Keine Instagram Anzeigen gefunden")
        time.sleep(10)
        I_gram()


Wie ihr seit mit Pyautogui, move ich zu den grafiken und klicke Sie an... das "x" funktioniert der Button nicht..?
Wie könnte ich den Tab noch schließen? Habe gelesen es würde die Möglichkeit geben Keys.CONTROL + "t" ? Wusste nicht wie ich es einbauen kann?
Wäre cool wenn jemand mir das zeigen könnte?

Und was ist der Unterschied zwischen while / for?

Vielen lieben Dank!!