Selenium WebDriver (ディスプレイとしてPyVirtualDisplayを使用) を使用して Flickr にログインする Python スクリプトがあります。
- http://pastebin.com/dqmf4Ecw (独自の Flickr 資格情報を追加する必要があります)
Debian サーバーで自分自身として実行すると、正常に動作します。(私は sudoer ですが、スクリプトの実行時に sudo は使用しません。)
ユーザーとして実行するとwww-data
(Django Web サイトからトリガーしたいので、最終的にはこのように実行されます)、2 つの問題が発生します。
- (小):
webdriver.Firefox()
呼び出しが戻るまでに 30 ~ 45 秒かかりますが、自分で実行した場合は 2 秒です - (大): スクリプトは Flickr へのログインに失敗します。ログインするには、Flickr のサインイン ページ (http://www.flickr.com/signin/) でユーザー名とパスワードのフィールドを探し、ユーザー名とパスワード
element.send_keys()
を入力します。Selenium は要素を見つけているように見えますが (つまり、noがスローされます)、スクリプトが自分自身として実行された場合とは異なり、スクリプトが as として実行された場合(私が を使用して撮影したスクリーンショットによると)NoSuchElementException
、フィールドに値が入力されません。www-data
browser.save_screenshot
send_keys()
スクリプトを として実行すると機能しないのはなぜwww-data
ですか? (そして、ブラウザの起動に時間がかかることに関連していますか?)