BOT Moderador para grupo de Facebook!! >> URGENTE <<

70 views
Skip to first unread message

Angelo Ramos Bimbato

unread,
May 12, 2021, 4:47:38 PM5/12/21
to Selenium Brasil
   Boa tarde, estou criando um projeto de moderação para aprovação de publicações para grupo de Facebook. Basicamente, as publicações feitas pelos membros tem que ter uma determinada palavra para serem aprovadas.
   Quando um usuário quer anunciar a venda de algum item, o grupo é configurado para que seja necessário a aprovação dessa publicação. É ai que o Selenium entra. Ele deve filtrar o título de todas as publicações pendentes e aprovar somente as que tiverem a palavra "vendo", fazendo com que não haja, ou minimize a quantidade de publicações de spam, serviços, etc. 
   O projeto já está na parte da filtragem dos títulos, porém como não sou programador, travei e não sei nem como pesquisar isso na internet. Eu preciso de um uma forma que o Selenium analise um título, aprove ou recuse e passe para o próximo, fazendo isso repetidas vezes até que todas as publicações sejam aprovadas ou recusadas.
   Vou linkar um print atual de como está o código em python. O login e o acesso até a parte das publicações pendentes está funcionando perfeitamente!!
    Caso possam me ajudar, serei muito grato!!

Sem título.png

Patrick Bressan Bremm

unread,
May 12, 2021, 4:59:21 PM5/12/21
to Selenium Brasil
Buenas!

Acredito que entendi O que vc busca fazer, mas você travou na parte de fazer isso para todas publicações?

Atenciosamente
Patrick Bremm

Patrick Bressan Bremm

unread,
May 12, 2021, 5:01:38 PM5/12/21
to Selenium Brasil
Se puder Adicionar o print do outro arquivo Python da print, acredito que lá vc chama essas classes, certo?

Angelo Ramos Bimbato

unread,
May 12, 2021, 8:18:11 PM5/12/21
to Selenium Brasil
Boa noite Patrick, primeiramente muito obrigado pela atenção!!

   Patrick, a minha maior dificuldade é em saber como posso replicar isso para as outras. Na print o script mostra que se o titulo tiver determinada palavra é pra ele mandar uma msg. Isso é só para ver se está funcionando. Na realidade oq ele terá que fazer é clicar em um botão dps em outras 4 opções e mandar. Mas isso eu creio que seja fácil pois é só achar o xpatch e botar um .click(). O problema está sendo em como o Selenium vai passar para o próximo script tendo em vista q o xpatch é o mesmo para todos os títulos, oq eu creio que  facilita, só não sei como replicar para ser feito com todas as publicações.
   Vou te mandar alguns prints que eu acho que podem ajudar!! O q vc solicitou (teste.py) está em branco, não tem nada. Eu o uso para testar novas funções para adicionar ao script.py.

Sem título 2.png
Sem título1.png

Patrick Bressan Bremm

unread,
May 13, 2021, 9:04:32 AM5/13/21
to Selenium Brasil
Bom o problema que o Xpath é o mesmo para todos os títulos, correto? No xpath conseguimos navegar em todos os elementos que o xpath retorna, usando findElements (por causa do s ele vai retornar lista).
O que vc precisa fazer é montar um Xpath que pegue apenas os títulos da publicações, porq cada elemento que encontrar vc sabe que é um título, de cima para baixo.

1) Monta um xpath que pega apenas o título (valida isso pelo chrome, as vezes está pegando mais que um)
Talvez esse de boa:
xpath: //*[pega a classe que representa o quadrado de toda da publicação//*[pega a classe do título]/div

*assim ele sempre vai procurar dentro da publicação aquele título, vc pode fazer o mesmo para clicar nos botões

xpath botões: //*[pega a classe que representa o quadrado de toda da publicação//button[text()='Aprovar']

*Tem que ver se realmente a tag é Button e se o texto não tem espaço no final por exemplo

2) Se toda publicação que vc aprova sai, vc vai precisar rodar o comando findElements buscando o título, enquanto a lista de elementos for maior que 0 vc executa as ações de aprovar ou não.

* ou seja, vc monta o script da forma que mencionei para um... Depois vc coloca dentro de um Forecth ou For, validando se existe uma publicação carrega... Lembrando que antes de validar, precisa ter certeza que o site carregou tudo
Reply all
Reply to author
Forward
0 new messages