J'ai créé une application pour obtenir automatiquement des informations sur un certain site. https://github.com/jajaja12345-code Je vais l'écrire comme un mémorandum de ce que j'ai vérifié à ce moment-là.
Lorsqu'il y a un espace entre les noms de classe
<p class = "servings_for yield">
Quand des choses comme
find_element_by_css_selector("servings_for yield")
Ensuite, une erreur se produira.
Par conséquent, écrivez comme suit
find_element_by_css_selector(".servings_for.yield")
Faites-le avec find_elements
.
des éléments, pas des éléments
référence [Que faire lorsque l'objet WebElement n'est pas itérable apparaît dans le sélénium](http://www.asnm4.com/2018/11/selenium%E3%81%A7webelement-object-is-not-iterable%E3%81% 8C% E5% 87% BA% E3% 82% 8B% E3% 81% A8% E3% 81% 8D% E3% 81% AE% E5% AF% BE% E5% 87% A6% E6% 96% B9% E6% B3% 95 /)
Vérifiez s'il existe avec une instruction try et interceptez NoSuchElementException avec except (Plusieurs exceptions peuvent être décrites)
référence Bases de Python et Selenium Gestion des exceptions Python (essayez, sauf, sinon, enfin)
Utiliser la déclaration de réussite
référence Je veux définir une fonction qui ne fait rien
driver.implicitly_wait(10)
Attendez 10 secondes pour trouver chaque élément du pilote.
Je veux pouvoir entrer à partir de mon smartphone.