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
¿Cómo puedo escribir texto en javascript?

¿Cómo puedo escribir texto en javascript?

Información de fondo

Estoy tratando de crear un bot de Python Selenium para comentar en varias publicaciones de TikTok. Ahora, el problema es que cuando intentas comentar la publicación, no te permite insertar texto porque el cuadro de comentarios no es un elemento de input sino un elemento DIV . Soy consciente de que puede editar el valor de span que está dentro del DIV con javascript, pero si interactúa con él mediante código, no me permitirá dejar menciones ni etiquetar personas. Todo esto se discutió aquí , pero no recibí ningún comentario de nadie y esta es una pregunta separada, por eso hice una segunda publicación.


Mi problema

Así que después de pensar un poco, creo que encontré una solución. Entonces, originalmente estaba usando pyautogui para escribir el texto que necesitaba para poder mencionar a las personas. Así que pensé "¿qué pasa si hago que esto funcione pero con javascript porque puedes llamar a las funciones de javascript con selenio". Así que me preguntaba cómo podría hacer que el tipo de JavaScript en una página web.


lo que he probado

  • Probé document.write('') pero el problema con esto es que simplemente borra toda la página y solo muestra el valor proporcionado

  • Intenté investigar mi pregunta pero no pude encontrar nada.


Mi meta

Mi objetivo es simplemente poder escribir texto con java script, no quiero actualizar un valor que quiero simular pulsaciones de teclas.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Siguiendo el comentario de Dermo909 , aquí hay un código js para eventos activos y establecer el enfoque (que simulará un efecto de escritura real en el navegador).

Editar: JavaScript es la mejor manera de interactuar con el navegador. No estoy más familiarizado con una solución de Python para desencadenar eventos en la web. Este código hará que el código js funcione en el entorno de python selenium ( leer más ):

 from selenium import webdriver driver = webdriver.Firefox(executable_path="C:\\geckodriver.exe")

solución

 // Choose the desired span, and add your text into it driver.execute_script("document.quarySelectorAll('span[data-offset-key]')[0].innerHTML = '@userName' "); // try setting focus on the span to active the popup list driver.execute_script("document.quarySelectorAll('span[data-offset-key=\"eap17-0-0\"]')[0].focus()") // try setting a change event on the span to active the popup list driver.execute_script("document.quarySelectorAll('[data-offset-key=\"eap17-0-0\"]')[0].dispatchEvent(new Event('change', { 'bubbles': true }))") // try typing with keyBoard events (make sure to select the span first): driver.execute_script("document.quarySelectorAll('span[data-offset-key=\"eap17-0-0\"]')[0].focus()") driver.execute_script("document.quarySelectorAll('span[data-offset-key]')[0].innerHTML= '@'"); driver.execute_script("document.dispatchEvent(new KeyboardEvent('keypress', {'key': 'u'}))");

¿Cómo funciona esto?

Vamos a desglosarlo:

  1. seleccionando el lapso
 mySpan = document.quarySelectorAll('span')[0] // quarySelectorAll returns a list of elements from your webpage according to the the description in the (...) // then chooses the first (and hopfully the only one) using [0].
  1. cambiar el texto del lapso:
 mySpan.innerHTML = '@userName'
  1. establecer el foco en el lapso para simular una interfaz de usuario real
 mySpan.focus()
  1. Decirle al navegador que el lapso ha cambiado (cuando se hace de forma progresiva, a veces él no se da cuenta de eso)
 mySpan.dispatchEvent(new Event('change', { 'bubbles': true }))
about 4 years ago · Juan Pablo Isaza 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