On 12/22/2016 03:54 AM, Alan Gauld via Tutor wrote:
On 22/12/16 03:37, Jim Byrnes wrote:
Python 3.4 on Ubuntu
If I was going to open a libreoffice calc file from the terminal I would
go: libreoffice --calc /home/path/to/myfile.ods.
How would I do this from Python?
Others have advised how to run the Libreoffice app from
within Python.
If you really want to open the actual spreadsheet file
in Python rather than Libreoffice then its a bit more tricky.
If that is what you really meant get back to us and
we can start on the options available...
First thanks to everyone that responded pointing me in the right direction.
Alan,
I want to open Libreoffice with a particular file loaded.
I started out to write a libreoffice macro in python to go to a website,
get some info, copy it to the clipboard and then paste it in libreoffice
calc.
I started out by writing a script using Selenium that successfully did
what I wanted. Once I had it working the plan was to put it in a macro.
When I did that I got a large error message where both libreoffice and
selenium complained. I seemed to say that the first element of the
webpage I tried to manipulate was in a state that it could not be
interacted with, even though outside of libreoffice the script ran fine.
This got me thinking that maybe I should attack the problem from the
other end, ie run the script and have it load libreoffice at the end.
Hence my question.
for completeness here is the error msg I received:
com.sun.star.uno.RuntimeExceptionError during invoking function login in
module
file:///home/jfb/.config/libreoffice/4/user/Scripts/python/funds/funds.py
(<class 'selenium.common.exceptions.InvalidElementStateException'>:
Message: invalid element state: Element is not currently interactable
and may not be manipulated
(Session info: chrome=55.0.2883.87)
(Driver info: chromedriver=2.25.426924
(649f9b868f6783ec9de71c123212b908bf3b232e),platform=Linux
4.4.0-57-generic x86_64)
/usr/local/lib/python3.4/dist-packages/selenium/webdriver/remote/errorhandler.py:192
in function check_response() [raise exception_class(message, screen,
stacktrace)]
/usr/local/lib/python3.4/dist-packages/selenium/webdriver/remote/webdriver.py:236
in function execute() [self.error_handler.check_response(response)]
/usr/local/lib/python3.4/dist-packages/selenium/webdriver/remote/webelement.py:494
in function _execute() [return self._parent.execute(command, params)]
/usr/local/lib/python3.4/dist-packages/selenium/webdriver/remote/webelement.py:92
in function clear() [self._execute(Command.CLEAR_ELEMENT)]
/home/jfb/.config/libreoffice/4/user/Scripts/python/funds/funds.py:29
in function login() [username.clear()]
/usr/lib/libreoffice/program/pythonscript.py:869 in function invoke()
[ret = self.func( *args )]
)
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor