laionleal123
(usa Debian)
Enviado em 03/01/2019 - 21:43h
Lisandro escreveu:
Por curiosidade, qual a finalidade do programa?
E porquê usar Python 2?
Ficaria mais fácil se colocasse o erro que dá, mas vamos tentar:
Não teria que pegar o elemento SUBMIT antes e depois usar a função .submit() nele em vez de usar no input?
Abraço
Boa noite Lisandro, o código é um trecho para um script, com a finalidade de automatizar as tarefas de curtir e seguir com o site instelikes.com.br . Escolhi o python por ser uma linguagem mais simples, não tenho muito conhecimento em programação e acredito que o python seja a melhor opção por ser uma linguagem simples e poderosa.
Segue abaixo o código completo que eu fiz até o momento.
#!/usr/bin/python
#_*_coding: UTF-8_*_
import getpass
import time
import os
import sys
from selenium import *
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
os.system('clear')
print('Bem-vindo ao Automator Likes, primeiramente preciso de alguns dados para efetuar\no seu login no Instelikes!')
email = raw_input('\nDigite seu email: ')
password = getpass.getpass('Digite sua senha: ')
os.system('clear')
print('Certo, agora preciso de alguns dados para efetuar o seu login no Instagram!')
username_insta = raw_input('\nDigite seu nome de usuario do Instagram: ')
password_insta = getpass.getpass('Digite sua senha do Instagram: ')
os.system('clear')
print('OK!\n\nPor favor aguarde ...')
time.sleep(2)
os.system('clear')
firefox = webdriver.Firefox()
firefox.get('https://instelikes.com.br/login.php')
insert_email = firefox.find_element_by_name('Email')
insert_email.send_keys(email)
insert_password = firefox.find_element_by_name('Senha')
insert_password.send_keys(password)
insert_password.send_keys(Keys.ENTER)
time.sleep(10)
enviar = firefox.find_element_by_link_text('Enviar')
enviar.click()
firefox.execute_script("window.open('https://www.instagram.com/accounts/login')")
time.sleep(5)
#ATÉ ESTA PARTE O CÓDIGO FUNCIONA COMO ESPERADO
#NA CONTINUAÇÃO ABAIXO O CÓDIGO DA ERRO
username_input = firefox.find_element_by_id('f3b33c2518771a6')
username_input.send_keys(username_insta)
# Enter password
password_input = firefox.find_element_by_id('f37efcd9387c724')
password_input.send_keys(password_insta)
# Login
password_input.submit()
#O CÓDIGO ABAIXO DEIXEI COMO COMENTÁRIO POIS EU ESTAVA TESTANDO O TRECHO DE CÓDIGO QUE ESTÁ COM ERRO
'''
insta_username = firefox.find_element_by_xpath("//input[@name='username']")
insta_username.send_keys(username_insta)
insta_password = firefox.find_element_by_name('Senha')
insta_password.send_keys(password_insta)
enter_my_insta = fiefox.find_element_by_link_text('Entrar')
enter_my_insta.click()
time.sleep(10)
firefox.close()
get_coin = firefox.find_element_by_name('Ganhar moedas!')
get_coin.click()
like_it = firefox.find_element_by_name('Curtir')
like_it.click()
follow_you = firefox.find_element_by_link_text('Seguir')
follow_you.click()
'''
Segue abaixo o retorno do erro no terminal.
Traceback (most recent call last):
File "testando.py", line 57, in <module>
username_input = firefox.find_element_by_id('f3b33c2518771a6')
File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 360, in find_element_by_id
return self.find_element(by=By.ID, value=id_)
File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 978, in find_element
'value': value})['value']
File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [id="f3b33c2518771a6"]
Se você puder me ajudar sou grato! Abraço.