Şimdi ubuntu çalışmaya başladım. Python projelerini sunucuda çalıştıracağım. Virtualenv ile proje oluşturuyorum. Projeyi aktifliyorum. pip3 ile selenium indiriyorum. Daha sonra geckodriveri indirip unzip yapıp kodlardan geckodriver yolunu belirtiyorum aşağıdaki şekilde.
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
browser = webdriver.Firefox(executable_path="/home/alper/Desktop/proje/geckodriver")
browser.maximize_window()
browser.get('https://www.google.com.tr')
jj = browser.page_source
print(jj)
Fakat seleniumu bir türlü çalıştıramadım. Ayrıca işlemleri hep terminalde yapıyorum. Ayrıca firefox driver kullanmak zorundayım. Nerde hata yapıyorum bir türlü çözemedim arkadaşlar. Yardımcı olursanız çok menmun olurum. Hoşcakalın
Hata kodum:
(proje) alper@alper-VirtualBox:~/Desktop/proje$ python3 bot1.py
Traceback (most recent call last):
File "bot1.py", line 10, in <module>
browser = webdriver.Firefox()
File "/home/alper/Desktop/proje/lib/python3.7/site-packages/selenium/webdriver /firefox/webdriver.py", line 174, in __init__
keep_alive=True)
File "/home/alper/Desktop/proje/lib/python3.7/site-packages/selenium/webdriver /remote/webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "/home/alper/Desktop/proje/lib/python3.7/site-packages/selenium/webdriver /remote/webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/home/alper/Desktop/proje/lib/python3.7/site-packages/selenium/webdriver /remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/home/alper/Desktop/proje/lib/python3.7/site-packages/selenium/webdriver /remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: Unable to find a matching set of capabilities
Verdiğin linkdeki çözüm olan cevap windows işletim sistemine göre verilmiş. Ben zaten windows ta çalıştırabiliyorum selenium. Fakat ubuntuda çalıştıramadım.
Olabilir belki yanılıyorumdur, yorumlayıcının davranışı da farklı olabilir ama kodunuzda browser = webdriver.Firefox() diye bir yer göremedim. (Büyük ihtimalle yorumlayıcı veya IDE’nin davranışı ile alakalı, eğer hata mesajı eksiksiz ise bu yorumumu görmezden gelebilirsiniz.)
Evet haklısınız hocam. Bu hata kodu executable_path yerleştirmeden önceydi. Fakat aşağıda yine aynı hatayı alıyorum
İlginiz için teşekkür ederim.
Traceback (most recent call last):
File "bot1.py", line 10, in <module>
browser = webdriver.Firefox(executable_path="/home/alper/Desktop/proje/geckodriver")
File "/home/alper/Desktop/proje/lib/python3.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 174, in __init__
keep_alive=True)
File "/home/alper/Desktop/proje/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "/home/alper/Desktop/proje/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/home/alper/Desktop/proje/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/home/alper/Desktop/proje/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: Unable to find a matching set of capabilities
root@alper-VirtualBox:/home/alper# python3 --version
Python 3.7.5
root@alper-VirtualBox:/home/alper# geckodriver --version
geckodriver 0.24.0 ( 2019-01-28)
The source code of this program is available from
testing/geckodriver in https://hg.mozilla.org/mozilla-central.
This program is subject to the terms of the Mozilla Public License 2.0.
You can obtain a copy of the license at https://mozilla.org/MPL/2.0/.
Ubuntu standart repository’sinde (universe) firefox-geckodriver diye bir paket var bu arada, onu kurmak yetti.
virtualenv ac, pip ile selenium yukle, (hazir firefox ve firefox-geckodriver'in kuruldugundan emin ol,) kodu calistir --> otomatize firefox’ta google acildi.
firefox’u snap’ten kullandiginda ne degisir bilmiyorum; geckodriver snap’i var midir, sistem geckodriver’i snap firefox’uyla calisir mi, vs…
Ama gerci firefox versiyonunu bilmemen snap’i ozellikle 72 versiyonu icin kullanmadigini gosteriyor. snap’i kullanmanin ozel bir sebebi var mi?
Sistemde 71 var bu arada. (Dundu o gerci, bugun 72 cikmis olabilir)
headless yani tarayıcıyı açmadan kullanmak gerekiyormuş. Onuda buraya not edelim. Ayrıca ubuntuya bayıldım, çok geç tanıştık fakat beklediğime değdi doğrusu Biz windows da resmen amelelik yapıyormuşuz dedirdi resmen Windows mysql server kurmak için 2gb yakın dosya indir, yok onun patch ayarla derken 45 dk sürüyor. Ubuntuda bu işlem herhalde 1dk bile sürmüyor Tekrardan teşekkür ederim.