Ceci est un mémorandum lorsque vous avez installé le sélénium sur votre Mac et l'avez essayé avec python.
pip3 install selenium
Installez Google Chrome en vous référant à ce qui suit
https://www.google.com/chrome Comment installer Google Chrome sur Mac
Vérifiez la version de Google Chrome, Installez la même version de pilote que Google Chrome
Menu Google Chrome → À propos de Google Chrome
(Exemple) Google Chrome est la dernière version Version: 81.0.4044.138 (version officielle) (64 bits)
(Exemple) Google Chrome est la version: 81.0.4044.Dans le cas de 138
$ pip3 install chromedriver-binary==81.0.4044.138
Successfully installed chromedriver-binary-81.0.4044.138.0
$ pip3 show chromedriver-binary
Name: chromedriver-binary
Version: 81.0.4044.138.0
Summary: Installer for chromedriver.
Home-page: https://github.com/danielkaiser/python-chromedriver-binary
Author: Daniel Kaiser
Author-email: [email protected]
License: MIT
Location: /anaconda3/lib/python3.7/site-packages
Requires:
Required-by:
Reportez-vous à ce qui suit et exécutez le programme de test "Démarrez Chrome, recherchez" Selenium "sur Google et ouvrez le site officiel de Selenium."
Note de préparation pour l'exécution de Selenium ChromeDriver et Python sur Mac
selenium-test.py
# coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
import chromedriver_binary
#Ouvrez le navigateur.
driver = webdriver.Chrome()
#Ouvrez l'écran TOP de recherche Google.
driver.get("https://www.google.co.jp/")
#Tapez "sélénium" comme terme de recherche et appuyez sur Entrée.
search = driver.find_element_by_name('q')
search.send_keys("selenium automation")
search.send_keys(Keys.ENTER)
#Le titre est "Sélénium-Cliquez sur le lien qui correspond à "Automatisation du navigateur Web".
#element = driver.find_element_by_partial_link_text("SeleniumHQ Browser Automation")
#element = driver.find_element_by_link_text("WebDriver")
element = driver.find_element_by_partial_link_text("Selenium")
element.click()
#Attendez 5 secondes.
sleep(5)
#Quittez le navigateur.
driver.close()
Exécuter
$ python3 selenium-test.py
C'est OK si le navigateur se ferme après 5 secondes après la transition automatique de google à la page sélénium.
FileNotFoundError: [Errno 2] No such file or directory: 'chromedriver': 'chromedriver'
$ python3 selenium-test.py
Traceback (most recent call last):
File "/anaconda3/lib/python3.7/site-packages/selenium/webdriver/common/service.py", line 76, in start
stdin=PIPE)
File "/anaconda3/lib/python3.7/subprocess.py", line 769, in __init__
restore_signals, start_new_session)
File "/anaconda3/lib/python3.7/subprocess.py", line 1516, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'chromedriver': 'chromedriver'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "selenium-test.py", line 7, in <module>
driver = webdriver.Chrome()
File "/anaconda3/lib/python3.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 73, in __init__
self.service.start()
File "/anaconda3/lib/python3.7/site-packages/selenium/webdriver/common/service.py", line 83, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
J'ai installé le pilote Chrome lors de la vérification de la version, mais il n'a pas été utilisé correctement. Importer et résoudre
import chromedriver_binary
Une fois installé, vous pouvez ajouter /usr/local/lib/python3.7/site-packages/chromedriver_binary/ à votre PATH ou importer chromedriver_binary au début de votre script Python.
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="lst-ib"]"}
$ python3 selenium-test.py
Traceback (most recent call last):
File "selenium-test.py", line 12, in <module>
driver.find_element_by_id("lst-ib").send_keys("selenium")
File "/anaconda3/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 360, in find_element_by_id
return self.find_element(by=By.ID, value=id_)
File "/anaconda3/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 978, in find_element
'value': value})['value']
File "/anaconda3/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/anaconda3/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="lst-ib"]"}
(Session info: chrome=81.0.4044.138)
Il semble que je n'ai pas pu trouver la fenêtre de recherche ci-dessous, donc
driver.find_element_by_id("lst-ib").send_keys("selenium")
Remplacez par ce qui suit pour résoudre
search = driver.find_element_by_name('q')
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"link text","selector":"SeleniumHQ Browser Automation"}
Traceback (most recent call last):
File "selenium-test.py", line 18, in <module>
element = driver.find_element_by_link_text("SeleniumHQ Browser Automation")
File "/anaconda3/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 428, in find_element_by_link_text
return self.find_element(by=By.LINK_TEXT, value=link_text)
File "/anaconda3/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 978, in find_element
'value': value})['value']
File "/anaconda3/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/anaconda3/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"link text","selector":"SeleniumHQ Browser Automation"}
(Session info: chrome=81.0.4044.138)
Il semble que je n'ai pas pu rechercher "Selenium HQ Browser Automation" dans la partie suivante, donc
element = driver.find_element_by_partial_link_text("SeleniumHQ Browser Automation")
Cette fois, nous l'avons résolu en effectuant une recherche partielle comme find_element_by_partial_link_text ("Selenium").
element = driver.find_element_by_partial_link_text("Selenium")
Notes de préparation pour l'exécution de Selenium ChromeDriver & Python sur Mac Selenium automates browsers. That's it! Comment installer Google Chrome sur Mac Préparez un environnement de développement Python! (Mac) Que faire si le sélénium affiche l'erreur "Message: session non créée: cette version de ChromeDriver ne prend en charge que la version 75 de Chrome" selenium Downloads Aucun fichier ou répertoire de ce type: 'chromedriver': résolution 'chromedriver' le sélénium ne démarre pas Notes de préparation pour l'exécution de Selenium ChromeDriver & Python sur Mac Résumé de la sélection d'éléments avec Selenium [Python] find_element_by_link_text ・ ・ ・ Récupérez l'élément de linkText https://www.google.com/chrome
Recommended Posts