====== sikulix ====== {{tag>開発}} {{tag>}}[[rpa]]ツール ====== install ====== openjdk8〜12を使用 ===== 起動バッチファイル ===== cd sikulix_dir SET JAVA_HOME="%SystemDrive%\jdk" SET PATH="%PATH%;%JAVA_HOME%\bin" SET JAVABIN="%JAVA_HOME%\bin\java.exe" %JAVABIN% -jar sikulix.jar -c pause ===== jythonのパッケージインストール ===== 参考 https://qiita.com/hirohiro77/items/6f366f2d36bcd348dda8 sikulix上のpython=jythonの環境でpipを実行しパッケージインストールする(結局requestsは動作しない・・) SET JAVA_HOME="%SystemDrive%\jdk" SET PATH="%PATH%;%JAVA_HOME%\bin" SET JAVABIN="%JAVA_HOME%\bin\java.exe" SET jythonjar="%USERPROFILE%\AppData\Roaming\Sikulix\Extensions\jython-standalone-2.7.2.jar" %JAVABIN% --illegal-access=warn -jar %jythonjar% -m ensurepip %JAVABIN% --illegal-access=warn -jar %jythonjar% -m pip install requests %JAVABIN% --illegal-access=warn -jar %jythonjar% -m pip install selenium %JAVABIN% --illegal-access=warn -jar %jythonjar% -m pip install chromedriver pause ===== httpget ===== pipでパッケージをインストールしても、jythonからpythonのrequestsができないため、 以下のようにpythonからjavaライブラリを呼び出す。 import sys reload(sys) #デフォルトエンコーディングの文字コードをUTF-8にする sys.setdefaultencoding('utf-8') ################################################ import java.net.URI import java.net.http.HttpClient import java.net.http.HttpRequest import java.net.http.HttpResponse cli = java.net.http.HttpClient.newHttpClient() url = "http://www.google.co.jp/" req = java.net.http.HttpRequest.newBuilder() strret = "" try: request = req.uri(java.net.URI.create(url)).build() response = cli.send(request, java.net.http.HttpResponse.BodyHandlers.ofString()) strret = response.body() except: strret = "err" print(strret)