Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

311
Visualizações
Uso de selenio desde mi aplicación sin ningún servidor externo

Desde dentro de mi aplicación, quiero acceder a un sitio web y luego realizar la acción del usuario. Actualmente estoy usando webview, pero creo que webdriver será fácil de usar y tendrá un enfoque correcto.

Código actual:

 WebView browser = (WebView) view.findViewById(R.id.webview); browser.getSettings().setJavaScriptEnabled(true); browser.getSettings().setDomStorageEnabled(true); browser.getSettings().setUserAgentString(`"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36");` browser.setWebViewClient(new MyBrowser()); browser.loadUrl("https://myurl.com");

Problemas con el código actual: es difícil enviar almacenes de claves o usar Xpath.

¿Qué estoy buscando? Ingrese al sitio web usando el controlador y luego haga clic en los botones, etc. Pseudocódigo de la siguiente manera:

 chat=driver.find_element_by_xpath("/html/somepath") chat.click() time.sleep(2) search=driver.find_element_by_xpath("/html/body/div[1]/div/div/div[2]/div[1]/span/div/span/div/div[1]/div/label/input") search.click()

Entiendo que esto es posible usando selenium/appium. Pero lo que estoy confundido es que selenium/appium también necesita un servidor que se ejecute en una máquina separada. Quiero ejecutar todo el código en mi aplicación sin un servidor externo ni más aplicaciones.

¿Puedo simplemente agregar lib que me da acceso a apis como mostré arriba?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Puede usar Selenium o Appium sin ningún servidor. Ambos son complementos, lo que significa que son básicamente código abierto o bibliotecas. Usted llama a esos objetos en su máquina local (o teléfono), no llama a una API remota en línea.

Selenium y Appium ayudan a encontrar elementos en una página web o para encontrar elementos dentro de una aplicación móvil. No hay absolutamente ninguna necesidad de un servidor aquí o una máquina remota.

Entonces, SÍ , solo agregue la lib que le da acceso a las api como mostró arriba.

over 4 years ago · Santiago Trujillo Relatório

0

Selenio

Selenium en su forma básica no necesita ningún servidor separado para ejecutarse. Selenium junto con su amplia gama de herramientas y bibliotecas que pueden admitir la automatización de navegadores web dentro de la misma máquina (es decir, localhost ).


WebDriver

En el núcleo de Selenium se encuentra WebDriver , una interfaz para escribir conjuntos de instrucciones que se pueden ejecutar de manera intercambiable en muchos navegadores utilizando el soporte nativo de cada navegador para la automatización de pruebas. Esto se puede lograr en tres sencillos pasos:

  • Instalación de la biblioteca de Selenium
  • Instalación de los controladores del navegador
  • Escribiendo tu primer script de Selenium

Bloque de código de ejemplo:

 System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver"); WebDriver driver = new FirefoxDriver(); driver.get("https://www.amazon.com/"); driver.findElement(By.cssSelector("input.nav-input[value='Go']")).click();

Rejilla de selenio

Sin embargo, Selenium también admite un servidor de distribución para escalar la asignación del navegador. Si su caso de uso incluye pasos para ejecutar pruebas en paralelo en varias máquinas, entonces Selenium Grid sería su mejor opción.

Selenium Grid permite la ejecución de scripts de WebDriver en máquinas remotas (virtuales o reales) mediante el enrutamiento de comandos enviados por el cliente a instancias de navegador remotas. Su objetivo es proporcionar una manera fácil de ejecutar pruebas en paralelo en varias máquinas.

Selenium Grid también le permitiría ejecutar pruebas en paralelo en varias máquinas y administrar diferentes versiones y configuraciones del navegador de forma centralizada (en lugar de en cada prueba individual).

Habiendo dicho eso, resuelve un subconjunto de problemas comunes de delegación y distribución, pero es posible que no pueda administrar su infraestructura y que no se adapte exactamente a sus necesidades específicas.


apio

Del mismo modo,Appium es una herramienta de código abierto para automatizar aplicaciones nativas, web móviles e híbridas en plataformas móviles iOS, móviles Android y de escritorio Windows. Las aplicaciones híbridas que tienen un envoltorio alrededor de una webview son un control nativo que permite la interacción con el contenido web. Proyectos como Apache Cordova facilitan la creación de aplicaciones utilizando tecnologías web que luego se agrupan en un contenedor nativo, creando una aplicación híbrida.

over 4 years ago · Santiago Trujillo Relatório

0

Según su pregunta y su comentario de respuesta a la respuesta proporcionada por @undetectedSelenium, se aplican las siguientes suposiciones:

  1. Está probando un navegador dentro de un teléfono Android que está conectado a una máquina con Windows a través de un servidor adb que se ejecuta en la máquina con Windows.
  2. El navegador bajo prueba es Chrome

Instale selenium como parte de su proyecto:

 <dependencies> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.1.2</version> </dependency> </dependencies>

Bloque de código de muestra basado en su código psuedo y la respuesta proporcionada por @undetectedSelenium

 System.setProperty(“webdriver.chrome.driver”, “C:\\path\\to\\chromedriver.exe”); ChromeOptions options = new ChromeOptions(); options.setExperimentalOption(“androidPackage”, “com.android.chrome”); // By default if the following option is not applied, selenium will take the 1st available // node provided by the adb server if multiple android devices are attached options.setExperimentalOption("androidDeviceSerial", deviceId); WebDriver driver = new ChromeDriver(options); driver.get("https://www.amazon.com/"); driver.findElement(By.cssSelector("input.nav-input[value='Go']")).click();

La variable deviceId debe contener el uuid enumerado como un dispositivo del servidor adb para el dispositivo en particular bajo prueba, es decir

 options.setExperimentalOption("androidDeviceSerial", 95s572sp0478);

También necesitará el Chromedriver correcto para su dispositivo Android. Compruebe la versión del navegador Chrome instalada en el dispositivo y descargue el controlador correcto desde aquí para su máquina con Windows Chromedriver Downloads . Luego colóquelo en su directorio deseado y agregue la ruta del directorio en el código.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda