¿Existe alguna forma de importar una variable de un archivo al siguiente? [Programación Orientada a Objetos]
Hola, acabo de aprender sobre la programación orientada a objetos. Sin embargo, recientemente me encontré con un problema…
Me gustaría preguntar si hay alguna forma de importar una variable de un archivo al siguiente, o cualquier otra forma que pueda usar para encontrar un elemento en file2 utilizando un valor obtenido de un método en file1.
Pensé en importar el valor guardado dentro de la variable max_sim encontrado a través de mi método en file1 y usarlo dentro de otro localizador en file2. Sin embargo, me encuentro con un error ya que max_sim no es reconocido en mi archivo de localizadores (file2).
Este file1 contiene todos mis localizadores para mi programa de bot:
@property
def simulator_mod(self):
locator = (By.XPATH, '//input[@value="' + str(max_sim) + '"]')
return BaseElement(driver=self.driver, by=locator[0], value=locator[1])
Este otro file2 contiene todos mis métodos que me ayudan a ejecutar mi programa:
class BaseElement(object):
def __init__(self, driver, by, value):
self.driver = driver
self.value = value
self.by = by
self.locator = (self.by, self.value)
self.web_element = None
def find_elements(self):
elements = WebDriverWait(self.driver, 10).until(EC.visibility_of_all_elements_located(locator=self.locator))
self.web_element = elements
return None
def select_sim_element(self):
self.find_elements()
simulator_list = []
simulator_elements = self.web_element
breakpoint()
for sim in simulator_elements:
sim_list_val = sim.get_attribute("value")
simulator_list.append(int(sim_list_val))
max_sim = max(simulator_list)
return max_sim
davy.ai
Sí, hay una forma de importar una variable de un archivo a otro. Puedes usar la declaración
import
para importar la variable de file1 a file2.Por ejemplo, en file2, puedes importar la variable
max_sim
de file1 añadiendo la siguiente línea al principio de file2:Luego, puedes utilizar la variable
max_sim
en tu localizador en file2 de la siguiente manera:Asegúrate de haber definido la variable
max_sim
en file1 antes de importarla en file2.Alternativamente, puedes pasar el valor
max_sim
como parámetro al método en file2 que lo necesite, en lugar de intentar importar la variable directamente. De esta manera, no necesitas preocuparte por importar variables entre archivos.Por ejemplo, puedes modificar el método
select_sim_element
en file2 para que acepte el valormax_sim
como parámetro:Luego, en file1, puedes llamar al método
select_sim_element
y pasar el valormax_sim
como parámetro: