Zoik
-
Total de itens
5 -
Registro em
-
Última visita
Posts postados por Zoik
-
-
Estou editando essa script que encontrei em um canal no youtube para ela curtir fotos no automático, ela funciona tudo, vai até o post que eu quero e abre a imagem, passa imagem por imagem porem não curte a foto e o erro está aqui até onde eu sei...
driver.find_element_by_xpath('//button[@class="dCJp8 afkep"]').click() time.sleep(random.randint(19, 23))
Não consigo fazer ele clicar no botão para curtir esse é o unico erro, sou novo em python e agradeceria muito se alguém pudesse me ajudar a passar esse obstáculo.
SCRIPT INTEIRA
from selenium import webdriver from selenium.webdriver.common.keys import Keys import time import random class InstagramBot: def __init__(self, username, password): self.username = username self.password = password self.driver = webdriver.Firefox( executable_path=r"C:\\Users\\alexs\\Desktop\bot\\driver\\geckodriver.exe" ) # Coloque o caminho para o seu geckodriver aqui def login(self): driver = self.driver driver.get("https://www.instagram.com") time.sleep(3) try: login_button = driver.find_element_by_xpath( "//a[@href='/accounts/login/?source=auth_switcher']" ) login_button.click() except: print('já estamos na página de login') pass user_element = driver.find_element_by_xpath( "//input[@name='username']") user_element.clear() time.sleep(random.randint(4, 6)) user_element.send_keys(self.username) time.sleep(random.randint(4, 6)) password_element = driver.find_element_by_xpath( "//input[@name='password']") password_element.clear() password_element.send_keys(self.password) time.sleep(random.randint(4, 6)) password_element.send_keys(Keys.RETURN) time.sleep(random.randint(4, 6)) self.curtir_fotos_com_a_hastag( "programação" ) # Altere aqui para a hashtag que você deseja usar. @staticmethod def type_like_a_person(sentence, single_input_field): """ Este código irá basicamente permitir que você simule a digitação como uma pessoa """ print("going to start typing message into message share text area") for letter in sentence: single_input_field.send_keys(letter) time.sleep(random.randint(1, 5) / 30) def curtir_fotos_com_a_hastag(self, hashtag): driver = self.driver driver.get("https://www.instagram.com/explore/tags/" + hashtag + "/") time.sleep(5) for i in range( 1, 3 ): # Altere o segundo valor aqui para que ele desça a quantidade de páginas que você quiser: quer que ele desça 5 páginas então você deve alterar de range(1,3) para range(1,5) driver.execute_script( "window.scrollTo(0, document.body.scrollHeight);") time.sleep(3) hrefs = driver.find_elements_by_tag_name("a") pic_hrefs = [elem.get_attribute("href") for elem in hrefs] print(hashtag + " fotos: " + str(len(pic_hrefs))) testes = [ href for href in pic_hrefs if hashtag in href and href.index("https://www.instagram.com/p") != -1 ] for pic_href in pic_hrefs: try: pic_href.index("https://www.instagram.com/p") except ValueError as err: print("pulando link inválido") continue driver.get(pic_href) driver.execute_script( "window.scrollTo(0, document.body.scrollHeight);") try: driver.find_element_by_xpath('//button[@class="dCJp8 afkep"]').click() time.sleep(random.randint(19, 23)) except Exception as e: print(e) time.sleep(5) jhonatanBot = InstagramBot( "login", "senha" ) # Entre com o usuário e senha aqui jhonatanBot.login()
-
Em 31/01/2021 em 11:39, ArteEN disse:
tira a primeira linha e deixa só a que tem os dois \\, eu coloquei a primeira linha para dizer qual que você tinha que mexer, desculpe se não fui claro
Continua dando erro amigo, não sei mais o que fazer mas agradeço muito pela ajuda, se tiver mais alguma sugestão de como corrigir sempre será bem vinda!
ERRO:
Traceback (most recent call last):File "c:\Users\alexs\Desktop\bot\tempCodeRunnerFile.py", line 1, in <module>from selenium import webdriverFile "C:\Users\alexs\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\__init__.py", line 18, in <module>from .firefox.webdriver import WebDriver as Firefox # noqaFile "C:\Users\alexs\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 104, in <module>jhonatanBot = InstagramBot("13123123", "123123123")File "C:\Users\alexs\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 13, in __init__firefoxProfile = webdriver.FirefoxProfile()AttributeError: partially initialized module 'selenium.webdriver' has no attribute 'FirefoxProfile' (most likely due to a circular import) -
Em 29/01/2021 em 10:15, ArteEN disse:
ta dando erro de unicode, unicodeescape na posição 2-3, erro de string, acho que isso resolve
driver = webdriver.Chrome('C:\Users\alexs\Desktop\IgBot\chomedriver.exe') driver = webdriver.Chrome('C:\\Users\\alexs\\Desktop\\IgBot\\chomedriver.exe')
Infelizmente continua dando erro mano...
-
Olá estou tentando usar esses comandos para abrir o navegador e assim dar inicio a uma série de ações nele, um código simples porém toda vez que tento executar a script ele dá erro, segui os passos de um canal no youtube executando primeiro o comando pip install selenium, depois preparei o VS CODE criando a pasta com o arquivo "chomedriver.exe", segui todos os passos certinho e várias pessoas disseram que deu certo, na verdade quase todos mas eu quando tento executar o comando ele da esse erro e já tentei de tudo mas ele não abre o navegador, se alguém puder me ajudar serei grato, possuo muita dificuldade com esse código e já estou a dias tentando resolver todos os possíveis erros e não consigo!
SCRIPT:
from selenium import webdriver
driver = webdriver.Chrome('C:\Users\alexs\Desktop\IgBot\chomedriver.exe')
driver.get("http://www.google.com")ERRO
File "c:\Users\alexs\Desktop\IgBot\tempCodeRunnerFile.py", line 2driver = webdriver.Chrome('C:\Users\alexs\Desktop\IgBot\chomedriver.exe')SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
Erro de execução PyCharm
em Python
Postado · Editado por Zoik
Clica naquela ferramenta de configurações pequena no lado do terminal e assinala a opção emulate terminal in output console e testa para ver se ainda tá dando o erro, se não der certo tenta mudar o interprete um pouco mais pra cima em "python interpreter", isso resolveu pra mim.