Selenium es una poderosa herramienta para controlar el navegador web a través de un programa. Es funcional para todos los navegadores, funciona en todos los principales sistemas operativos y sus scripts están escritos en varios lenguajes, es decir, Python, Java, C#, etc. Trabajaremos con Python.
En este artículo, vamos a ver cómo automatizar el sitio web de Caloriemama usando selenium. Solo vamos a publicar una imagen de comida en el caloriemama
sitio web de API y mostrar el resultado que muestra en ese sitio.
Antes de entrar en el código, necesitamos instalar Selenium para Python.
pip install selenium
Controladores web
Selenium requiere un controlador web para interactuar con el navegador elegido. Los controladores web son un paquete para interactuar con el navegador web. Interactúa con el navegador web o un servidor web remoto a través de un protocolo de conexión común a todos. Puede comprobar e instalar los controladores web de su elección de navegador.
Chrome: https://sites.google.com/a/chromium.org/chromedriver/downloads Firefox: https://github.com/mozilla/geckodriver/releases Safari: https://webkit.org/blog/6900/webdriver-support-in-safari-10/
Módulos necesarios
- selenium: para automatizar el navegador web
- tiempo: para usar la función de suspensión porque el selenium solo funciona cuando se cargan todos los elementos de la página.
Enviaremos la imagen de la comida y obtendremos el resultado de la comida reconocida como texto. Consideremos que la imagen de la comida se ve así:
# food recognition using caloriemama API # selenium example from selenium import webdriver import time # create the variable for webdriver browser = webdriver.Firefox(executable_path = '/path/to/geckodriver' ) # it will open browser and # search for the below URL # find class name 'file-upload' upload = browser.find_element_by_class_name( 'file-upload' ) # enter your image file # location here & send image upload.send_keys( "/path/to/food.jpeg" ) time.sleep( 5 ) # return the value by class name get = browser.find_element_by_class_name( 'group-name' ) print (get.text) # on the website, it will show many # results depend on the accuracy # first result is high accuracy one # if need all the result put it in # loop like below and change # 'find_element_by_class_name' # to 'find_elements_by_class_name' # for got in get: # print(got.text, "\n") # break |
Producción:
Pizza
Publicación traducida automáticamente
Artículo escrito por praphakar119 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA