問題タブ [splinter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
819 参照

linux - ブラウザのスクリーンショットを撮る Selenium/splinter が機能しない

特定のページのスクリーンショットを撮るためにスプリンターを使用するスクリプトがあります。このスクリプトを自宅のコンピューター (ubuntu) で実行すると、問題なく動作します (スクリーンショットを撮ります)。サーバーの端末(debiuan - sudo python)で実行すると、正常に動作します。ただし、サーバーでスクリプトを実行すると、画像を保存できないようです。

どうしてこれなの?Pythonには書き込み権限がないと言いがちですが、sudoでpythonスクリプトを実行し、ディレクトリをchmod 777しましたが、それでも画像を保存できません。

Python のアクセス許可を与える必要がある他の方法はありますか、またはこれはアクセス許可の問題ではありませんか?

スプリンターが写真を撮っているラインは

0 投票する
1 に答える
2941 参照

python - Python/Requests/BeautifulSoup を使用した効率的な Web ページのスクレイピング

Chicago Transit Authority bustrackerのWeb サイトから情報を取得しようとしています。特に、上位 2 つのバスの到着 ETA をすばやく出力したいと考えています。これは Splinter を使えばかなり簡単に行うことができます。ただし、このスクリプトをヘッドレス Raspberry Pi モデル B と Splinter と pyvirtualdisplay で実行すると、かなりのオーバーヘッドが発生します。

の線に沿った何か

トリックはしません。すべてのデータ フィールドは空です (まあ、  があります)。たとえば、ページが次のようになっている場合:

ここに画像の説明を入力

このコード スニペットs.find(id='time1').textu'\xa0'、Splinter で同様の検索を実行すると、「12 MINUTES」の代わりに表示されます。

私は BeautifulSoup/requests に執着していません。Splinter/pyvirtualdisplay のオーバーヘッドを必要としないものが欲しいだけです。プロジェクトでは、文字列の短いリスト (上の画像など[['9','104th/Vincennes','1158','12 MINUTES'],['9','95th','1300','13 MINUTES']]) を取得してから終了する必要があるためです。

0 投票する
1 に答える
3251 参照

python - Splinter: ImportError: 名前のブラウザをインポートできません

私は Splinter を初めて使用しますが、Python を数回使用しました。だから私はスプリンターを使ってウェブサイトを自動化したいと思っていました。しかし、実行すると「ImportError: 名前のブラウザをインポートできません」というエラーが表示されます。

これが私のコードです。

ターミナルでは、これが得られます。

エラーなしでこのプログラムを実行するにはどうすればよいですか? splinter.pyc の削除など、同様の問題の解決策を参照しましたが、役に立ちませんでした。

0 投票する
1 に答える
957 参照

python - Splinter: zope.testbrowser の DriverNotFoundError

Python Splinter を使用して Web サイトを自動化し、そこからデータをスクレイピングしています。Browser() で空白のままにしているデフォルトのブラウザー モードを使用すると、Firefox が開き、記述されたタスクが完了しますが、ヘッドレス ブラウザー 'zope.testbrowser' を使用すると、次のエラーが発生します。ここで何をする必要がありますか?

0 投票する
1 に答える
1148 参照

javascript - Python: splinter で実際にアクセス可能なファイルのアップロード?

ユーザーが XML スタイルのファイルをアップロードして、ブラウザーで変更できるようにする Web アプリケーションがあります。

私はスプリンターでシナリオをテストしようとしています。入力が正しい場合 ( id="form-widgets-body"):

ここに画像の説明を入力

...私はそれを問題なく見つけることができattach_file、その名前で使用することもできます:

brwsr.attach_file('form.widgets.body', PATH_TO_FILE)

しかし、問題attach_fileは、実際にはファイルにアクセスできないことです。たぶん、何かが入力されたことを入力に伝えるだけで、他の種類のテストには適していますか? (たとえば、ドキュメント X をアップロードするまで、金融アプリの次の画面に進むことはできません)

代わりに試しsend_keysましたが、期待どおりに機能しませんでした:

そうは言っても、いくつかの質問:

  1. send_keys実際に私がやりたいこと (つまり、本物そっくりのアクセス可能なファイルのアップロード) を行いますか? もしそうなら、それを呼び出す正しい方法は何ですか?

  2. そうでない場合、他に何ができますか?(おそらくjsが必要ですか?)

0 投票する
2 に答える
9100 参照

python - Selenium Python ヘッドレス Web ドライバー (PhantomJS) が機能しない

そのため、セレンをヘッドレスドライバー、特に PhantomJS で動作させるのに問題があります。Ubuntu Webサーバー(Ubuntu 14.04.2 LTS)で動作させようとしています。

Python インタープリター (Python 2.7.6) から次のコマンドを実行すると、次のようになります。

私も試しました:

また、それをpythonパスに追加しました:

現在、root としてログインしています。phantomjs ディレクトリの権限は次のとおりです。

およびphantomjs/webdriver.pyの場合:

Selenium がインストールされ、最新であることを確認しました (pip install selenium --upgrade)。次の場所にインストールされています。

私は見てきました:

chromedriverを使用して、ローカルでホストされているサーバー(OSX上)でプログラムをテストしています。私は実際にそのために Splinter ( https://splinter.readthedocs.org/en/latest/#headless-drivers ) を使用しており、他のヘッドレス ドライバー (django および zope.testbrowser) を試しましたが、同様の問題がありました。

必要に応じてドライバーを変更してもかまいません。

助けてくれてありがとう。

0 投票する
1 に答える
437 参照

python - Splinter は本文のない html を保存します

splinter 0.7.3Linux プラットフォームでモジュールを使用python 2.7.2して、デフォルトの Firefox ブラウザを使用して Web サイトのディレクトリ リストをスクレイピングしています。

これは、html の [次へ] リンクをクリックして、ページ分割された Web リストを反復処理するコードのスニペットです。

次のような出力が表示されるので、リンクが機能していることがわかります。

HTMLを使用して各ページに保存するf.write(browser.html.encode('utf-8'))と、最初のページで正常に機能します。後続のページでは、Firefox でレンダリングされたページを見ることができますが、html/regiser_...htmlファイルが空であるか、body タグが次のように欠落しています。

これは splinter から html を保存する既知の機能ですか? それを行うより良い方法はありますか?

0 投票する
0 に答える
215 参照

python - フレームセット内の要素を見つけるにはどうすればよいですか?

Python splinter を使用してフレームセット内の要素を見つけるにはどうすればよいですか?

find_by_css、 fi nd_by_xpathfind_by_tag, find_by_namefind_by_valueおよびfind_by_idWebDriver:を試しfind_element_by_xpathました。

ElementDoesNotExist上記の構文で他の要素を見つけることに成功しましたが、例外が発生しました。

0 投票する
1 に答える
1039 参照

python - セレンで見えない要素をクリックする方法は?

このコードを使用して、splinter のクリック ボタン オプションを確認しました。

そして私は例外を得ました:要素は現在表示されていないため、相互作用しない可能性があります。ブラウザを待つことは解決策ではありません(スリープメソッドを長時間作成してもまだ機能しないため)。これはhttps://splinter.readthedocs.org/en/latest/#sample-codeに示されているサンプルコードですが、私にとってはうまくいきません