ofx-bot
ofx-bot copied to clipboard
ofx-itau: xdg-user-dir: readCreateProcess: runInteractiveProcess: exec: does not exist (No such file or directory)
Estou tentando rodar o ofx-itau no OSX. Compilou tudo corretamente, mas está dando esse erro do título depois que eu inputo os dados de login. O que pode ser?
O 'ghc' está instalado e vc consegue chamar ele via linha de comando?
Sim, o ghc está ok. Compilou tudo ok.
Encontrei alguns projetos que apresentaram o mesmo erro. Todos que vi era problema na configuração do 'stack' porém não tenho nenhum OSX para reproduzir seu problema.
Isto na verdade é uma limitação (artificial) do código. O Chrome (na época) não respeitava as configurações do diretório de download (talvez já tenha sido corrigido). Assim, como workaround deixávamos ele fazer o download no diretório padrão e depois copiávamos o arquivo para o diretório onde o script estava rodando. Como quase todas as soluções paliativas essa solução foi esquecida e ficou lá no código até hoje:
https://github.com/francesquini/itau-lib/blob/master/src/Itau.hs#L104
Tem duas possibilidades de solução imediata. Escolher o driver para o Firefox via linha de comando (que faz muito tempo que não rodo, mas acredito que ainda funcione), altere essas linhas do código para que ele não use o xdg (olhando alguma variável de ambiente ou colocando um caminho hardcoded).
Já alterei esta issue para um bug, assim corrigiremos ele o mais breve possível.
Com firefox não rodou. Deu erro na hora de inicializar o Selenium Server.
The path to the driver executable must be set by the webdriver.gecko.driver system property; for more information, see https://github.com/jgraham/wires. The latest version can be downloaded from https://github.com/jgraham/wires
Você baixou o GeckoDriver conforme explicado aqui? https://github.com/maxiwell/ofx-bot/blob/master/README-ptbr.md#requisitos
@francesquini tinha faltado renomear pra wires
.
Agora deu outro erro. O firefox até dispara, mas nem começa a navegar pelo site do Itaú.
Meu firefox está atualizado, versão 53.0.
Iniciando Selenium Server
Efetuando login
Erro durante a execuçãoFailedCommand UnknownError
Session: SessionId "0977b53f-e2a7-4334-8e31-b8011718e549" at "127.0.0.1":4444
java.lang.ClassCastException: com.google.common.collect.Maps$TransformedEntriesMap cannot be cast to org.openqa.selenium.WebElement
org.openqa.selenium.remote.RemoteWebDriver.findElement (RemoteWebDriver.java:368)
org.openqa.selenium.remote.RemoteWebDriver.findElementByCssSelector (RemoteWebDriver.java:492)
org.openqa.selenium.remote.RemoteWebDriver.findElementById (RemoteWebDriver.java:415)
org.openqa.selenium.By$ById.findElement (By.java:218)
org.openqa.selenium.remote.RemoteWebDriver.findElement (RemoteWebDriver.java:355)
sun.reflect.NativeMethodAccessorImpl.invoke0 (NativeMethodAccessorImpl.java:18446744073709551614)
sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke (Method.java:483)
org.openqa.selenium.support.events.EventFiringWebDriver$2.invoke (EventFiringWebDriver.java:103)
com.sun.proxy.$Proxy1.findElement (:18446744073709551615)
org.openqa.selenium.support.events.EventFiringWebDriver.findElement (EventFiringWebDriver.java:188)
org.openqa.selenium.remote.server.handler.FindElement.call (FindElement.java:48)
org.openqa.selenium.remote.server.handler.FindElement.call (FindElement.java:1)
java.util.concurrent.FutureTask.run (FutureTask.java:266)
org.openqa.selenium.remote.server.DefaultSession$1.run (DefaultSession.java:176)
java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:617)
java.lang.Thread.run (Thread.java:745)
Desligando Selenium Server