PythonからHTMLファイルを開こうとしていますが、私のスクリプトでは、ブラウザで開くのではなく、PythonでHTMLファイルの内容を表示しています。方法この問題を解決できますか?ChromeブラウザでHTMLファイルを開くにはどうすればよいですか?
testdata.html
<div>
<a href="https://plot.ly/user001/2/" target="_blank" title="Success vs Failure" style="display: block; text-align: center;"><img src="https://plot.ly/~user001/2.png" alt="Success vs Failure" style="max-width: 100%;width: 600px;" width="600" onerror="this.onerror=null;this.src='https://plot.ly/404.png';" /></a>
<script data-plotly="user001:2" src="https://plot.ly/embed.js" async></script>
</div>
Python 2.7スクリプト:
import urllib
page = urllib.urlopen('testdata.html').read()
print page
URLの先頭に「file://」を指定してみてください。
// Also, use the absolute path of the file:
webbrowser.open('file://' + os.path.realpath(filename))
または
import webbrowser
new = 2 # open in a new tab, if possible
// open a public URL, in this case, the webbrowser docs
url = "http://docs.python.org/library/webbrowser.html"
webbrowser.open(url,new=new)
// open an HTML file on my own (Windows) computer
url = "file://d/testdata.html"
webbrowser.open(url,new=new)
import os
os.system("start [your's_url]")
楽しい!
webbrowserライブラリを使用できます:
import webbrowser
url = 'file:///path/to/your/file/testdata.html'
webbrowser.open(url, new=2) # open in new tab
Seleniumを使用できます。
最新のchromedriverをダウンロードし、chromedriver.exeを「C:\ Python27\Scripts」に貼り付けます。
その後
from Selenium import webdriver
driver = webdriver.Chrome()
driver.get("your page path")
print driver.page_source.encode('utf-8')
driver.quit()
display.stop()
「gecodriver」の最新バージョンは here からダウンロードできます。次に、gecodriver実行可能ファイルをプロジェクトに追加します。次に、pip install SeleniumとWindowsのコードの下にあります。
from Selenium import webdriver
from Selenium.webdriver.firefox.options import Options
import os
#optional
options = Options()
options.set_preference('permissions.default.image', 2)
options.set_preference('dom.ipc.plugins.enabled.libflashplayer.so', False)
#for windows
Driver = webdriver.Firefox(options=options, executable_path='geckodriver.exe')
Driver.implicitly_wait(15)
#path of your project -> reference : "https://stackoverflow.com/questions/25389095/python-get-path-of-root-project-structure/40227116"
Root = os.path.dirname(os.path.abspath(__file__))
driver.get('file://' + Root + 'path/to/htmlfile')
私があなたを助けたことを願っています:)