Je vais jouer avec python à partir de maintenant comme mémo Je l'ajouterai à chaque fois
SyntaxError: Non-UTF-8 code starting
Message d'erreur </ b>
SyntaxError: code non UTF-8 commençant par 'Emplacement de l'erreur' dans le fichier sample.py à la ligne 1, mais aucun encodage déclaré; voir http://python.org/dev/peps/pep-0263/ pour plus de détails
Cause </ b>
La cause était que le code python que j'écrivais était écrit en S-JIS (SHIFT-JIS) (en bref, *** code de caractère ***)
Procédure: [Nouveau] -> [Document texte] -> Changer l'extension du fichier créé de txt à py
Ochi </ b>
Changement du code source python de S-JIS à UTF-8
Pour terapad: Copiez le code entier une fois → [Fichier] → [Recharger avec le code de caractère] → Sélectionnez UTF-8 → (Après le rechargement) Sélectionnez le texte intégral avec ctrl + A → Coller avec ctrl + V → ctrl + Écraser avec S
Même html était brouillé, et S-JIS est toujours nuisible ... Nous devons l'unifier sous le dieu UTF-8 ... (enseignement radical UTF-8) Faction) </ s> </ font>
FileNotFoundError
Message d'erreur </ b>
FileNotFoundError: [Errno 2] No such file or directory: './img.png'
Cause </ b>
La cause est que le dossier (répertoire) spécifié par le fichier "img.png " n'existe pas.
→ J'ai mis par erreur img.jpg
Ochi </ b>
Soit le fichier [img.jpg] doit être [img.png], soit le fichier img.png dans le code doit être img.jpg
Message d'erreur </ b>
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 81
Cause </ b>
La version de chromedriver.exe que j'utilise est différente de la version de Google Chrome qui se trouve sur mon PC
→ Pilote Chrome 81.0.4044.20, la version chrome était 80.0.3987.132
→ À propos, comment vérifier la version de chrome peut être trouvée sur l'écran de transition de «En haut à droite:» → «Aide» → «À propos de Google Chrome»
Ochi </ b>
La version a été chromedriver.exe correspondant à 80.0.3987.132
IndentationError
Message d'erreur </ b>
File "python.py", line 52
~
IndentationError: expected an indented block
Cause </ b>
Il n'y a pas d'intention (abaissement) dans la partie concernée (52e ligne cette fois)
Ochi </ b>
Utilisez la touche Tab pour insérer un intent
→ À propos, l'espace demi-largeur est acceptable (la pleine largeur n'est pas autorisée)
UnicodeDecodeError
Message d'erreur </ b>
UnicodeDecodeError: 'cp932' codec can't decode byte 0x86 in position 49: illegal multibyte sequence
Partie correspondante (ligne 49):
with open("img.txt") as f:
Cause </ b>
Apparemment, c'est un problème de code de caractère
Ce fichier img.txt est écrit en UTF-8, mais s'il n'est pas spécifié dans l'environnement Windows, il essaiera de lire en S-JIS.
Référence: https://qiita.com/Yuu94/items/9ffdfcb2c26d6b33792e
S-JIS est dangereux ... (radicaux UTF-8) </ s> </ font>
Ochi </ b>
J'ai pu réécrire l'intérieur de open comme suit
Précédent) avec open ("img.txt") comme f:
Après) avec open ("img.txt", encoding = "utf8") comme f:
SyntaxError: EOL while scanning string literal
Message d'erreur </ b>
print("/、")
SyntaxError: EOL while scanning string literal
Cause </ b>
La cause est que "et" ne sont pas fermés.
Dans la phrase d'exemple, il semble être fermé, mais en fait, "" est un caractère d'échappement </ b> et "" \ "" est un processus qui "met" comme caractère ".
Référence: https://blog.pyq.jp/entry/Python_kaiketsu_181122
Ochi </ b>
Écrivez en continu comme "\"
SyntaxError: Failed to execute 'evaluate' on 'Document' Message d'erreur </ b> * Puisque @ est un lien, il est pleine largeur SyntaxError: Failed to execute 'evaluate' on 'Document': The string '//input[@name='name]' is not a valid XPath expression. Partie applicable: driver.find_element_by_xpath("//input[@name='name]").send_keys("") Cause </ b> Erreur indiquant que "ou" n'est pas fermé " Ochi </ b> Si vous regardez attentivement la phrase correspondante, vous verrez "" // input [@ name = 'name ' </ b> </ font>] "" et "'" qui devrait être dans la partie colorée. Je ne l'avais pas, alors je l'ai attaché déplacé
SyntaxError: (unicode error) Message d'erreur </ 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
Cause </ b> J'ai fait référence au code source de l'URL de référence suivante, mais une erreur Vous devez mettre r qui représente les données brutes Référence: https://qiita.com/hikoalpha/items/fa8330391823aea2fbca Ochi </ b> Correct </ b>) prefs = {"download.default_directory": r </ b> </ font> "C: \ Users \ {username} \ Téléchargements \ test "} Wrong) prefs = {"download.default_directory": "C: \ Users \ {username} \ Downloads \ test"} Wrong) prefs = {"download.default_directory": ex (r </ font> "C: \ Users \ {username} \ Downloads \ test" ) </ font>} Je suis très reconnaissant pour la publication, mais la description qui semble induire des erreurs si le code qui génère une erreur est laissé tel quel est un peu ... </ font> SyntaxError: invalid character in identifier Message d'erreur </ b>
test.py
while x < xx:
^
SyntaxError: invalid character in identifier
Cause </ b> Il y a un espace pleine largeur </ b> entre while et x Ochi </ b> Réécrit dans un espace demi-largeur
Message d'erreur </ b>
selenium_test.py
File "selenium_test.py", line 33, in <module>
driver.find_element_by_xpath("//button[@class='class']").click()
~ Omis ~
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
Cause </ b> Il y avait en fait plusieurs boutons avec le même élément (boutons dont l'élément de classe est "class") Il semble que cette erreur sera générée même si elle est hors de l'écran, mais dans ce cas, vous devez faire défiler Référence: https://qiita.com/DNA1980/items/528ff6269986b262acdc Ochi </ b> Utilisez find_elements pour cracher tous les boutons qui correspondent aux éléments, trouver le bouton souhaité et .click () Bonus </ b> Code de confirmation d'attribut que j'utilise souvent
selenium_test.py
for tag in driver.find_elements_by_xpath("//button[@class='class']"):#Modifiez dans xpath si nécessaire
# att = tag.get_attribute("name") #Cette partie est utilisée lorsque vous souhaitez extraire une partie spécifique de la partie capturée → Dans ce cas, la classe est"class"Tirez sur l'élément de nom du bouton
print("tester:" + tag.text)#Si vous souhaitez afficher l'attribut ci-dessus, cliquez sur "imprimer("tester:" + att)"Devient
element is not attached to the page document Message d'erreur </ b>
selenium_test.py
File "selenium_test.py", line 33, in <module>
print("tester:"+ele_find.text)
~ Omis ~
selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
Cause </ b> J'ai mis le processus de transition dans l'instruction for, mais j'ai oublié de décrire la pause Pour cette raison, je pense qu'il était en colère contre moi quand il a essayé de prendre un élément qui n'existait pas alors que le traitement se poursuivait. Ochi </ b> Rupture vissée immédiatement après le traitement de transition
Message d'erreur </ b>
test.py
os.mkdir("chemin//test//test2")
Cause </ b> Je veux faire de test2 un test, mais le répertoire de test essentiel n'existait pas Ochi </ b>
test.py
os.makedirs("chemin//test//test2") #Vous pouvez tout faire avec makedirs
Situation </ b>
test.py
pyautogui.typewrite("puyopuyo")#Résultat → PUYO PUYO
Cause </ b> J'étais en mode de saisie majuscule avec Shift + CapsLock Probablement parce qu'il s'agit d'une commande "appuyer sur une touche" au lieu de "entrer une touche" Vous le rencontrerez rarement, Ochi </ b> J'ai pu y aller après avoir annulé l'entrée en majuscules
SyntaxError: invalid syntax Cause </ b> S ... Il apparaît souvent avec des erreurs de syntaxe comme des excréments ・ J'ai oublié d'ajouter ":" à la fin de l'instruction if, for statement et while statement. Faux) si a == 0 Correct) si a == 0 : </ b>
・ Il y a des personnages inutiles Il est généralement indiqué, je vais donc m'en débarrasser et le réécrire sous la forme correcte.
selenium_test.py
File "selenium_test.py", line 67
ActionChains(driver).key_down(Keys.CONTROL).send_keys(,"s").perform()
^
SyntaxError: invalid syntax