ubuntu 18.04に python selenium + mysqlclient
まずはpipのインストール色々調べたけど ubuntu 18.04ではpython3を使用したほうがいいみたいなので python3 pip3 basedでインストール
sudo apt update
とりあえずアップデート
sudo apt install python3-pip
sudo pip3 install --upgrade pip
を実行、pip3が入ったので、それでseleniumとかをインストール
sudo pip3 install selenium
mysqlclientを入れる前にaptでインストール
sudo apt-get install python-dev libmysqlclient-dev
sudo pip3 install mysqlclient
ここからchromeをダウンロードGUIでクリックでダウンロード時間がかかるときもある。
http://chromedriver.chromium.org/downloads
ここから最新のchromedriverをダウンロード解凍して/bin/に移動
unzip chromedriver_linux64.zip
sudo mv chromedriver /usr/bin/
Ubuntuのchromeのバージョンが上がったらchromedriverもダウンロードし直してあげないといけない。
完全自動化にしたいのであればリモートでの作業もほしくなるので、そこで詰まった事も共有
・vncをいれたいけど。。
ぐぐるとvnc4serverをインストールってなるが、インストールしても画面がxface!?かなにかで全然違う・・・
ubuntuであれば普通に画面共有という機能があるのでそれで十分というより、それしかなかった。
ubuntuのスクリーン共有
vnc4serverの方向で進んでいたので、1時間程詰まった。。
import time
import MySQLdb
from selenium import webdriver
from selenium.webdriver.support.select import Select
con = MySQLdb.connect(
user='root',
passwd='12345678',
host='192.168.9.224',
db='warehouse')
cur= con.cursor()
sql = "select item_name from t_sales where item_name is not null group by item_name limit 10"
cur.execute(sql)
rows = cur.fetchall()
driver = webdriver.Chrome()
url = 'https://www.google.com/'
driver.get(url)
time.sleep(2)
for row in rows:
print(row[0])
# word = row[0]
search_input = driver.find_element_by_name('q')
search_input.clear()
search_input.send_keys(row[0])
search_input.submit()
time.sleep(2)
driver.quit()
cur.close
con.close
上のソースコードを試して貼り付けて、
python3 mysql.py
を実行してmysqlの接続 seleniumが動いたことを確認できました。
ssh に入って実行してもseleniumは普通には起動しないです。
exportとか使えばいけるかも。。
export DISPLAY=:0 &&を前に実行すればいけました。
export DISPLAY=:0 && python3 mysql.py
登録日:
更新日: