Python bots automatiesieren?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Ich hätte es statt pyautogui mit Selenium gelöst. Mit Selenium kann man den Content der Website analysieren und auch darauf reagieren.

Ich verwende Selenium momentan für solche Aufgaben am liebsten, da es viele Möglichkeiten bietet, Webseiten zu automatisieren.

Ich hoff ich konnte dir weiterhelfen und wenn du noch Fragen hast, dann kannst du Sie mir gerne stellen.

LG

Woher ich das weiß:eigene Erfahrung
nooneknows08 
Fragesteller
 21.08.2022, 21:54

Kann man damit z.B auf Instagram jede minute eine nachricht kommentieren ohne das man in dem tab sein muss sondern auch andere sachen nebenbei machen kann?

1
nooneknows08 
Fragesteller
 22.08.2022, 00:36
@Hanibal545

ich habe ein problem und zwar: ich möchte ein bot machen der auf instagram geht und in die suche was eingeben soll allerding kommt dann erst ein cookie fenster und danach ein anmelde screen. Allerdings krieg ich es nicht hin den knopf vom cookies akzeptieren zu drücken. mein Code sieht so aus:
#https://sites.google.com/a/chromium.org/chromedriver/downloads

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

import time

PATH = "D:\chromdriver\chromedriver.exe"

driver = webdriver.Chrome(PATH)

driver.get("https://www.instagram.com")

try:

    element = WebDriverWait(driver, 10).until(

        EC.presence_of_element_located((By.CLASS_NAME, "aOOlW  bIiDR  "))

    )

    element.click()

except:

    driver.close

1
Hanibal545  22.08.2022, 10:00
@nooneknows08

ich mache es immer mit find element. Also dann

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

PATH = r"D:\chromdriver\chromedriver.exe"

#nicht notwendig, aber ich finde es nützlich
options = webdriver.ChromeOptions()
options.add_experimental_option("detach", True)
driver = webdriver.Chrome(options=options, executable_path=PATH)
driver.maximize_window()

driver.get("https://www.instagram.com")
driver.find_element("xpath","//button[contains(text(), 'Nur erforderliche Cookies erlauben')]").click()
time.sleep(42)
0
nooneknows08 
Fragesteller
 23.08.2022, 18:14
@Hanibal545

das mache ich ja genauso. Bei mir geht es jetzt aber manchmal muss ich mir den Full Xpath kopieren und manchmal nur den XPath

1
Hanibal545  23.08.2022, 18:17
@nooneknows08

Kann manchmal sein wenn es kein Button, sondern z.B. ein Label oder ein spam feld ist. Aber dann kann man eigentlich einfach statt //button den zugehörigen Pfad verwenden.

Aber wenn es auch mit den kompletten Pfad geht passt es ja auch

1