Fehler beim Spielen mit Python

Anstelle von Memo

Ich werde von nun an als Memo mit Python spielen Ich werde es jedes Mal hinzufügen

SyntaxError: Non-UTF-8 code starting Fehlermeldung </ b> SyntaxError: Nicht-UTF-8-Code, der mit 'Fehlerort' in der Datei sample.py in Zeile 1 beginnt, aber keine Codierung deklariert ist. Weitere Informationen finden Sie unter http://python.org/dev/peps/pep-0263/ Ursache </ b> Die Ursache war, dass der Python-Code, den ich schrieb, in S-JIS (SHIFT-JIS) geschrieben wurde (kurz *** Zeichencode ***). Vorgehensweise: [Neu] -> [Textdokument] -> Ändern Sie die Erweiterung der erstellten Datei von txt in py Ochi </ b> Der Python-Quellcode wurde von S-JIS in UTF-8 geändert Für Terapad: Kopieren Sie den gesamten Code einmal → [Datei] → [Mit Zeichencode neu laden] → UTF-8 auswählen → (Nach dem erneuten Laden) Wählen Sie den Volltext mit Strg + A → Einfügen mit Strg + V → Strg + Mit S überschreiben Sogar HTML wurde verstümmelt, und S-JIS ist immer noch schädlich ... Wir müssen es unter dem UTF-8-Gott vereinheitlichen ... (radikale UTF-8-Lehre) Fraktion) </ s> </ font> FileNotFoundError Fehlermeldung </ b> FileNotFoundError: [Errno 2] No such file or directory: './img.png' Ursache </ b> Die Ursache ist, dass der in der Datei "img.png " angegebene Ordner (Verzeichnis) nicht vorhanden ist. → Ich habe fälschlicherweise img.jpg gesetzt Ochi </ b> Entweder sollte die Datei [img.jpg] [img.png] sein oder die img.png im Code sollte img.jpg sein

Teil 3 (selenbezogen)

Fehlermeldung </ b> selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 81 Ursache </ b> Die von mir verwendete Version von chromedriver.exe unterscheidet sich von der Version von Google Chrome auf meinem PC → Chrome-Treiber 81.0.4044.20, Chrome-Version war 80.0.3987.132 → Informationen zum Überprüfen der Chrome-Version finden Sie übrigens auf dem Übergangsbildschirm von "Oben rechts:" → "Hilfe" → "Über Google Chrome". Ochi </ b> Die Version wurde chromedriver.exe entsprechend 80.0.3987.132 IndentationError Fehlermeldung </ b> File "python.py", line 52 ~ IndentationError: expected an indented block Ursache </ b> Es gibt keine Absicht (Absenkung) im relevanten Teil (diesmal 52. Zeile) Ochi </ b> Verwenden Sie die Tabulatortaste, um eine Absicht einzufügen → Platz mit halber Breite ist übrigens akzeptabel (volle Breite ist nicht erlaubt) UnicodeDecodeError Fehlermeldung </ b> UnicodeDecodeError: 'cp932' codec can't decode byte 0x86 in position 49: illegal multibyte sequence Entsprechender Teil (Zeile 49): with open("img.txt") as f: Ursache </ b> Anscheinend ist es ein Zeichencode-Problem Diese img.txt ist in UTF-8 geschrieben, aber wenn sie nicht in der Windows-Umgebung angegeben ist, wird versucht, S-JIS einzulesen. Referenz: https://qiita.com/Yuu94/items/9ffdfcb2c26d6b33792e S-JIS ist schädlich ... (UTF-8-Radikale) </ s> </ font> Ochi </ b> Ich konnte das Innere von open wie folgt umschreiben Zurück) mit open ("img.txt") als f: Nachher) mit open ("img.txt", encoding = "utf8") als f: SyntaxError: EOL while scanning string literal Fehlermeldung </ b> print("/、") SyntaxError: EOL while scanning string literal Ursache </ b> Die Ursache ist, dass "und" nicht geschlossen sind. Im Beispielsatz scheint es geschlossen zu sein, aber tatsächlich ist "" ein Escape-Zeichen </ b> und "" \ "" ein Prozess, der "als Zeichen" setzt. Referenz: https://blog.pyq.jp/entry/Python_kaiketsu_181122 Ochi </ b> Schreiben Sie fortlaufend wie "\"

SyntaxError: Failed to execute 'evaluate' on 'Document' Fehlermeldung </ b> * Da @ ein Link ist, ist er in voller Breite SyntaxError: Failed to execute 'evaluate' on 'Document': The string '//input[@name='name]' is not a valid XPath expression. Anwendbarer Teil: driver.find_element_by_xpath("//input[@name='name]").send_keys("") Ursache </ b> Fehler, dass "oder 'nicht geschlossen ist" Ochi </ b> Wenn Sie sich den entsprechenden Satz genau ansehen, sehen Sie "" // input [@ name = 'name ' </ b> </ font>] "" und "'", die sich im farbigen Teil befinden sollten. Ich hatte es nicht, also habe ich es angehängt gerührt

SyntaxError: (unicode error) Fehlermeldung </ b>

selenium_test.py


  File "selenium_test.py", line 12
    prefs = {"download.default_directory" : "C:\Users\\{username}\\Downloads\\test"}
                                            ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

Ursache </ b> Ich habe auf den Quellcode der folgenden Referenz-URL verwiesen, aber ein Fehler Sie müssen r eingeben, das die Rohdaten darstellt Referenz: https://qiita.com/hikoalpha/items/fa8330391823aea2fbca Ochi </ b> Richtig </ b>) prefs = {"download.default_directory": r </ b> </ font> "C: \ Users \ {Benutzername} \ Downloads \ test "} Falsch) prefs = {"download.default_directory": "C: \ Benutzer \ {Benutzername} \ Downloads \ Test"} Falsch) prefs = {"download.default_directory": ex (r </ font> "C: \ Benutzer \ {Benutzername} \ Downloads \ Test" ) </ font>} Ich bin sehr dankbar für die Veröffentlichung, aber die Beschreibung, die Fehler hervorruft, wenn der Code, der einen Fehler auslöst, so bleibt, wie er ist, ist ein bisschen ... </ font> SyntaxError: invalid character in identifier Fehlermeldung </ b>

test.py


   while x < xx:
          ^
SyntaxError: invalid character in identifier

Ursache </ b> Zwischen while und x befindet sich ein Leerzeichen </ b> in voller Breite Ochi </ b> Auf halben Raum umgeschrieben

Element nicht wechselwirkbar (selenbezogen)

Fehlermeldung </ b>

selenium_test.py


  File "selenium_test.py", line 33, in <module>
    driver.find_element_by_xpath("//button[@class='class']").click()
~ Ausgelassen ~
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable

Ursache </ b> Es gab tatsächlich mehrere Schaltflächen mit demselben Element (Schaltflächen, deren Klassenelement "Klasse" ist). Es scheint, dass dieser Fehler auch dann ausgelöst wird, wenn er nicht auf dem Bildschirm angezeigt wird. In diesem Fall sollten Sie jedoch einen Bildlauf durchführen Referenz: https://qiita.com/DNA1980/items/528ff6269986b262acdc Ochi </ b> Verwenden Sie find_elements, um alle Schaltflächen auszuspucken, die den Elementen entsprechen, die gewünschte Schaltfläche zu finden und .click () Bonus </ b> Attributbestätigungscode, den ich oft benutze

selenium_test.py


for tag in driver.find_elements_by_xpath("//button[@class='class']"):#Ändern Sie in xpath nach Bedarf
#	att = tag.get_attribute("name") #Dieser Teil wird verwendet, wenn Sie einen bestimmten Teil des erfassten Teils herausziehen möchten → In diesem Fall ist die Klasse"class"Ziehen Sie das Namenselement der Schaltfläche
	print("Prüfung:" + tag.text)#Wenn Sie das obige Att anzeigen möchten, klicken Sie auf "Drucken"("Prüfung:" + att)"Wird

element is not attached to the page document Fehlermeldung </ b>

selenium_test.py


  File "selenium_test.py", line 33, in <module>
    print("Prüfung:"+ele_find.text)
~ Ausgelassen ~
selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document

Ursache </ b> Ich habe einen Prozess zum Übergang in die for-Anweisung aufgenommen, aber vergessen, break zu beschreiben Aus diesem Grund denke ich, dass er wütend auf mich war, als er versuchte, ein Element zu nehmen, das nicht existierte, obwohl die Verarbeitung fortgesetzt wurde. Ochi </ b> Schraubenbruch unmittelbar nach der Übergangsbearbeitung

FileNotFoundError: [WinError 3] Der angegebene Pfad wurde nicht gefunden

Fehlermeldung </ b>

test.py


os.mkdir("Pfad//test//test2")

Ursache </ b> Ich möchte test2 zu test machen, aber das wesentliche Testverzeichnis war nicht vorhanden Ochi </ b>

test.py


os.makedirs("Pfad//test//test2") #Sie können alles zusammen mit Makedirs machen

Die von pyautogui gesetzten Zeichen werden in Großbuchstaben geschrieben

Situation </ b>

test.py


pyautogui.typewrite("puyopuyo")#Ergebnis → PUYO PUYO

Ursache </ b> Ich war mit Shift + CapsLock im Eingabemodus in Großbuchstaben Wahrscheinlich, weil es ein Befehl ist, "eine Taste drücken" statt "eine Taste eingeben". Sie werden es selten antreffen, Ochi </ b> Ich konnte gehen, nachdem ich die Eingabe in Großbuchstaben abgebrochen hatte

SyntaxError: invalid syntax Ursache </ b> S ... Es tritt häufig mit Syntaxfehlern wie Exkrementen auf ・ Ich habe vergessen, am Ende der if-Anweisung, der Anweisung und der while-Anweisung ":" hinzuzufügen. Falsch) wenn a == 0 Richtig) wenn a == 0 : </ b>

・ Es gibt einige unnötige Zeichen Es wird normalerweise darauf hingewiesen, also werde ich es loswerden und es in der richtigen Form umschreiben.

selenium_test.py


  File "selenium_test.py", line 67
    ActionChains(driver).key_down(Keys.CONTROL).send_keys(,"s").perform()
                                                          ^
SyntaxError: invalid syntax

Recommended Posts