Selenium anlayamadığım sorun

Bu ilk aldığınız hatayla aynı
driver = webdriver.Firefox(executable_path=driver_path)
Bu şekilde yazdığınıza emin misiniz?

1 Beğeni

Demekki 32 bit ile 64 bit arasında fark yok demektir
sistem 32 diye 32 bit olanını indirdim
kodlarıda burda ve geckodriver masaüstünde

from selenium import webdriver
import time

driver = webdriver.Firefox(executable_path="/home/tuncay/Masaüstü/geckodriver/")

time.sleep(5)

driver.quit()

Bulunan ama executable olmadigi icin calistirilamayan dosyanin konumuyla niye bu kadar ugrastiginizi anlayabilmis degilim.

Distronun resmi paketi demek istedim. Linklenen thread’de de bahsediliyor.

Sunu da denememis kimse anlasilan. Deneyip dosyanin calistirilabilir olup olmadigini gorseydiniz keske Python’a gostermeye ugrasmadan.

1 Beğeni

Başlarda aldığı hata dosyanın yolu ile alakalıydı. İndirdiği dosya executable. Dosyanın yolu bulunduktan sonra aldığı hata Exec format error. Bu hata inen dosyanın executable olmadığı anlamına gelmiyor.

Aklıma gelen bir baska ihtimal, muhtemelen indirilen geckodriver sürümünün, yüklü olan mozilla sürümüyle uyuşmuyor olabileceği.

Mesela v0.26.0 için şöyle bir ifade var.

Note that with this release the minimum recommended Firefox version
has changed to Firefox ≥60.

1 Beğeni

Hepinize teşekkür ederim ortada hiçbir neden yokken çalıştı :smiley:

Ne yaptınız da çalıştı? Ayrıca son yazdığım mesaj çözüm değilse onu çözüm olarak işaretlemeyin.

2 Beğeni

Aslına bakarsanız sadece Ubuntuyu 18.04 sürümüne güncellemek oldu

Peki, kolay gelsin o zaman.

1 Beğeni

Teşekkür ederim yardımlarınız için

Aslinda geliyor:

ENOEXEC
An executable is not in a recognized format, is for the wrong architecture,
or has some other format error that means it cannot be executed.

Benim hatam, “sistemde calistirilamayacak bir executable formatinda” diye acik acik yazmam lazimdi. Ama ikinci cumlede yazdigimi gorup, calistirmayi deneyip, calistirilamadigini gorursunuz diye dusundum.

Ubuntu update’iyle cozulduyse ucuncu cumlede yazdigim Ubuntu resmi paketleriyle mi calisti? :slight_smile:

1 Beğeni

@Wormer_King’in kullandığı işletim sisteminde çalıştırılamayan bir executable vardı, yoksa o dosyayı bende indirdim ve çalışıyordu. Dolayısıyla aklıma ya yolda bir sıkıntı var ya da sürüm uyuşmazlığı var geldi. Ama ne hikmetse anlamadığım bir şekilde Ubuntu 16.05 sıkıntı çıkartmış. Yani executable dosyanın belli bir sürümü bazı işletim sistemlerinde çalışmıyor olabilir sonucunu çıkarttım bundan.

1 Beğeni

Benim için sıradan Ubuntu sorunu
Herzaman başıma gelir

Evet, bir sure var olan her isletim sisteminde cikan bir sorun: formatlar, mimariler degisiyor. Linux’un avantaji cogu sey ozgur yazilim oldugu icin degisen formatlara, mimarilere tekrar derlenebiliyor.

Exe’yi yanlis mimari icin indirince boyle bir hata cikabiliyor. (Hatta farkli libc’ye linklenmis exe’ler de benzer/ayni hata cikartiyordu sanirim). “Indirilen exe Windows exe’si olsaydi da ayni sey olurdu” diyecegim ama benim sistem Windows exe’lerini de calistiriyor :crazy_face:.

@Wormer_King: uname -mpi (hatta uname -a) ne diyor?

yazdığınız bir program sayesinde mi çalıştırıyorsunuz, yoksa wine mı kullanıyorsunuz?

Wine, ama ilgincligi binfmt'de. Kendini MZ'ler icin interpreter olarak tanimlayip dogrudan execve(2) ile calistirilabilmelerini sagliyor.

Bu son dediğinden bir şey anlayamadım Orhan kardeşim. :flushed:

i686 ve Linux tuncay-Aspire-ES1-531 4.4.0-148-generic #174-Ubuntu SMP Tue May 7 12:19:28 UTC 2019 i686 i686 i686 GNU/Linux
diyor

x86; “her zaman basima gelir” deyince tahmin ettim: 32-bit.

Distro’lar yavas yavas desteklerini cekmeye basladilar. (Hatta Ubuntu cekmemis miydi?)

Peki sanırım 64 bit yapmanın bir yolunu bulmam gerekiyor
kaynak öneren

https://www.n11.com/bilgisayar/dizustu-bilgisayar?srt=PRICE_LOW&iss=Linux :confused:

1 Beğeni