Jump to content

Como resolver erro ao inserir data usando API Zoom Meeting em Python?


Postagens Recomendadas

Boa tarde, estou criando uma API em python para empresa que em resumo é para automatizar  criação de reuniões, consiste em pegar dados de uma planilha e inserir automaticamente no site porém o código da erro no momento de inserir  data ( anexarei método da data) o e-mail e senha que constam no 'código é ficticio'image.png

colocarei a disposição o código:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
import time
import pandas as pd
from selenium.webdriver.common.keys import Keys
from selenium.webdriver import ActionChains
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

tabela = pd.read_excel("Pasta.xlsx")

driver = webdriver.Chrome()
service = Service(ChromeDriverManager().install())

navegador = webdriver.Chrome(service=service)
navegador.get('https://zoom.us/pt/signin#/login')
navegador.maximize_window()

navegador.find_element('xpath','//*[@id="email"]').send_keys('testecorepe@gmail.com')
navegador.find_element('xpath','//*[@id="password"]').send_keys('Cor&n5478')
navegador.find_element('xpath','//*[@id="js_btn_login"]/span').click()
time.sleep(5)

navegador.find_element('xpath','//*[@id="personal-nav-list"]/li[3]/a').click()
time.sleep(5)

navegador.find_element('xpath','//*[@id="app"]/div/div/div/div[4]/div/div[1]/div/button[1]/span').click()
time.sleep(5)

for linha in tabela.index:
    primeira_linha_topico = tabela.loc[1, 'topico']
    print(primeira_linha_topico)
    navegador.find_element('xpath','//*[@id="topic"]').send_keys(primeira_linha_topico)
    time.sleep(10)

    meeting_date = tabela.loc[1,'data']
    navegador.find_element('xpath','').click()
    wait = WebDriverWait(driver, 10)
    date_field = wait.until(EC.presence_of_element_located((By.ID, '//*[@id="mt_time"]')))
    date_field = driver.find_element(By.XPATH, '//*[@id="mt_time"]')
    date_value = meeting_date.strftime('%m/%d/%Y %H:%M')  # formatando a data para o formato MM/DD/YYYY HH:MM
    actions = ActionChains(driver)
    actions.move_to_element(date_field).click().perform()  # clicando no campo de data para abrir o seletor de data
    driver.execute_script("arguments[0].setAttribute('value', arguments[1])", date_field, date_value)  # inserindo a data diretamente no elemento
    time.sleep(5)

 

  • Curtir 1
Link to comment
Compartilhe em outros sites

Olá, Vamos analisar e corrigir o erro no código que está enfrentando ao tentar inserir a data.

A partir do código fornecido, identifiquei algumas inconsistências que podem estar contribuindo para os problemas encontrados. Vou propor algumas alterações para garantir que o código funcione corretamente:

1. **Unificação de Instâncias do WebDriver**: Você inicializou o WebDriver duas vezes (com `webdriver.Chrome()` e novamente com `webdriver.Chrome(service=service)`). Isso não é necessário e pode causar confusão. Vamos usar apenas uma instância.
2. **Seleção e Uso do WebDriver Correto**: Há uma mistura no uso de `driver` e `navegador` ao longo do código. Vamos manter apenas `navegador`.
3. **Localizador de Elemento de Data**: O XPath usado para localizar o campo de data está vazio e há confusão na forma de localizar elementos (`find_element`). Vou ajustar isso para a sintaxe atualizada e corrigir o localizador.

Aqui está o código corrigido com os ajustes mencionados:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
import time
import pandas as pd
from selenium.webdriver.common.keys import Keys
from selenium.webdriver import ActionChains
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# Carregar a planilha de dados
tabela = pd.read_excel("Pasta.xlsx")

# Configurar e iniciar o navegador
service = Service(ChromeDriverManager().install())
navegador = webdriver.Chrome(service=service)
navegador.get('https://zoom.us/pt/signin#/login')
navegador.maximize_window()

# Realizar o login
navegador.find_element(By.XPATH, '//*[@id="email"]').send_keys('testecorepe@gmail.com')
navegador.find_element(By.XPATH, '//*[@id="password"]').send_keys('Cor&n5478')
navegador.find_element(By.XPATH, '//*[@id="js_btn_login"]/span').click()
time.sleep(5)

# Acessar a página de criação de reuniões
navegador.find_element(By.XPATH, '//*[@id="personal-nav-list"]/li[3]/a').click()
time.sleep(5)
navegador.find_element(By.XPATH, '//*[@id="app"]/div/div/div/div[4]/div/div[1]/div/button[1]/span').click()
time.sleep(5)

# Criar reuniões com base nos dados da planilha
for linha in tabela.index:
    primeira_linha_topico = tabela.loc[linha, 'topico']
    navegador.find_element(By.ID, 'topic').send_keys(primeira_linha_topico)
    time.sleep(2)

    # Formatar e inserir a data da reunião
    meeting_date = tabela.loc[linha,'data']
    date_field = navegador.find_element(By.XPATH, '//*[@id="mt_time"]')
    date_value = meeting_date.strftime('%m/%d/%Y %H:%M')
    navegador.execute_script("arguments[0].setAttribute('value', '{}')".format(date_value), date_field)
    time.sleep(5)

Faça essas mudanças e tente rodar o código novamente. Se encontrar mais problemas ou tiver outras questões, fico à disposição para ajudar!

Editado por Jeremias Dev
  • Curtir 1
  • Ajudou! 1
Link to comment
Compartilhe em outros sites

  • Casa do Desenvolvedor mudou o título para Como resolver erro ao inserir data usando API Zoom Meeting em Python?

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...