問題タブ [twill]
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.
python - HTMLコンテンツへのアクセスをツイル/機械化
ツイルはまだウェブ自動化ツールとして関連していますか?はいの場合、なぜ現在維持されていないのですか?いいえの場合、Mechanizeはツイルスタイルのシンプルなスクリプトをサポートするためにさらに成熟しましたか?または、ギャップを埋めるためにステップアップした別のパッケージはありますか?
Twillを使用してPythonでいくつかのテストスイートをすばやくセットアップできましたが、TwillがPythonプログラムで吐き出す情報にアクセスする方法について少し混乱しています。つまり、showforms()を実行して、フォームの値がきちんとリストされていることを確認し、fvを使用してフォームの値を更新して送信することができます。しかし、Python変数としてこれらのフォーム値の1つにアクセスするにはどうすればよいですか?どうすれば次のように言うことができますか?
someField1Value = fv("1","someField1")
python - ツイルの使用を開始するにはどうすればよいですか?
申し訳ありませんが、すでに「スーパーユーザー」でこの質問をしていますが、誰も回答していないので、「スーパーユーザー」から削除して、ここに投稿することにしました。特に、ここで「StackOverflow」(「SuperUser」ではなく)でツイルを使用するように最初にアドバイスされたという事実を考えると、それが大きな犯罪ではないことを願っています
ツイルの使用を開始するにはどうすればよいですか? ダウンロードして解凍し、フォルダー内の setup .py ファイルをクリックしました。黒いウィンドウ(端末)が一瞬現れて消えました。
(私のコンピュータには Python 2.5 と Google App Engine の SDK がインストールされています)
ツイルのドキュメントセクションでは、次のように述べています。
ツイルのダウンロード
twill の最新リリースは、2007 年 12 月 27 日木曜日にリリースされた twill 0.9 です。http://darcs.idyll.org/~t/projects/twill-0.9.tar.gzからダウンロードでき ます。Python の easy_install を使用して、twill をインストールまたはアップグレードすることもできます。
twill は Python 2.3 以降で動作します。
twill の使用を開始するには、インストールしてから twill-sh と入力します。プロンプトで次のように入力します。
go http://www.slashdot.org/
show
showforms
showhistory
この文章からは、何を入力すればよいのか (「twill-sh」または「twill-sh」とその行の下のすべての単語のみ) と、どこに (自分のコンピューターのコマンド プロンプト ウィンドウで入力してみました -無駄に)
誰か、ここで私を助けてくれませんか?
前もって感謝します。
更新 1:
(この更新は、S.Mark からの回答に対する回答です)
こんにちは、S.Mark!!!! 私はあなたの指示に従おうとしました。何が起こったかは次のとおりです。
まず、D ディスクにフォルダーを作成し、「tmp」という名前を付けました。次に、そのフォルダーに twill-0.9 をダウンロードして解凍しました。したがって、私のコンピューター上のこのファイルへのパスは、例のパスと同じでした: D:\tmp\twill-0.9 :
(source: narod.ru )
(ソース: narod.ru )
次に、自分のコンピューターでコマンド プロンプトを開こうとしました:
(ソース: narod.ru )
(ソース: narod.ru )
(ソース: narod.ru )
(ソース: narod.ru )
(ソース: narod.ru )
次に、あなたの指示のステップ 2 に従って、D ディスクに切り替えようとしました。
(ソース: narod.ru )
しかし、何らかの理由でうまくいきませんでした:
(ソース: narod.ru )
この中国語の行は、「このアクションは拒否されました」のようなものです。なぜそうなのですか?とにかく、ステップ 3 に進もうとしたところ、次のようになりました。
(ソース: narod.ru )
私の知る限り、この中国語の行は、「 'C:\' は内部コマンドでも外部コマンドでもないため、実行できません。」 なぜそうなのですか?私のコンピュータに何か問題がありますか?
更新 2:
(この更新は、S.Mark からの回答に対する 2 回目の回答です)
こんにちは、S.Mark!!! 再度のご回答ありがとうございます。
はい、今回は、投稿で強調表示された部分を入力しただけで機能しました。それで、最初に「d:」とだけ入力したところ、うまくいきました!!!
しかし、その後、「python setup.py build」と入力すると、同じエラー メッセージが表示されました (「「python」は内部コマンドでも外部コマンドでもありません。実行できません。」) :
(ソース: narod.ru )
このコマンドを繰り返そうとしましたが、誤って「python」という単語を省略してしまいました: (出典: narod.ru )
「Enter」キーを押すと、ビルド プロセスが開始されたように見えました - 少なくとも、私が見たものは、あなたの指示のステップ 4 (「ビルド プロセスを開始する」) と非常によく似ていました:
(ソース: narod.ru ) (ソース: narod .ru ) (出典: narod.ru )
しかし今は、ステップ 5 (「インストール」) に進むことに少し躊躇しています。
手順 4 で問題がなければ、手順 5 の「python」という言葉も省略しますか?
補足質問: スクリーンショットを作成せずに端末のコンテンツをどのように投稿に入れることができたのですか? ターミナルの内容をクリップボードに入れる方法があるようなものですか?常にスクリーンショットを作成し、投稿する前にそれらをホストするのは非常に面倒です。
更新 3:
(この更新は、S.Mark に対する私の 3 回目の応答です)
S.Markさん、こんにちは!
(あなたがまだ私にうんざりしていないことを願っています)
「…そして、python を省略して setup.py を直接実行することもできます。これは、python インストールがレジストリに *.py を登録したためです…ステップ 5 に関しては、setup.py install を実行するだけで済みます」 – 私はあなたの言葉に従い、インストール プロセスは正常に実行されました! ありがとうございました。
しかし、次のステップ (「その後、スタート メニューから Python プロンプトを開き、ステップ 6 と 8 をテストする」) に関しては、Python プロンプトではあまり成功しませんでした:
(ソース: narod.ru )
通常のコマンド プロンプト (ターミナル) でも成功しませんでした:
(ソース: narod.ru )
(これも中国語で、python は「内部コマンドでも外部コマンドでもないため、実行できない」と言っています)。なぜうまくいかなかったのか分かりますか?
「…あなたの python インストールはどこにありますか? C:\Python25?」- はい、そうです。
「…コマンド プロンプトでテキストを選択できるようにする設定 (コマンド プロンプト プロパティ - 簡単な編集モード) があります。superuser.com でそれを聞いてもらえますか?」- はい、そこでこの質問をします。教えてくれてありがとう。
python - インストールされたツイルを使用して Web サイトにログインする方法は?
「StackOverflow」の非常に協力的なメンバーの助けを借りて、コンピューターにTWILLを正常にインストールし(ここで確認できます)、 twillドキュメントページで簡単な例の1つを実行しようとしました(そのページを見ることができますここで)。その例を次に示します。
(ソース: narod.ru )
www.slash.orgでの私のユーザー名がlynxyeで、パスワードが哺乳類だとしましょう。そのサンプル コードを Python プロンプトに入力しようとすると、コードの最初の行しか入力できません。[Enter] をクリックして新しい行を開始すると、すぐにいくつかのエラー メッセージが表示されるためです。
(ソース: narod.ru )
このコードを端末に入力しようとすると、同じことが起こります。
(ソース: narod.ru )
ここでいくつかの基本を見逃していると思います。おそらく、そのコードを含むファイルを作成し、そのファイルを何らかの方法で実行する必要がありますが、そのファイルを作成する必要がある場所と拡張子がわかりません。
誰でも、これで私を助けてくれますか?
python - すべてのツイルコマンドを.pyファイルの1つのコードにまとめるにはどうすればよいですか?
ツイルの探索を始めたばかりです。
ツイルはWebブラウジングのための素晴らしいスクリプト言語であり、私が望むすべてを実行します!!!
これまで、Pythonシェル(正確にはIDLE(Python GUI))のツイルを使用しており、コマンドを1つずつ実行する方法で実行しています(つまり、1つのコマンドを入力して実行し、次に次のように入力します)。次のコマンド):(ソース:narod.ru)
(出典:narod.ru)
(出典:narod.ru)
(出典:narod.ru)
(出典:narod.ru)
(出典:narod.ru)
(出典:narod.ru)
しかし、これらすべてのコマンドを1つの.pyファイルにまとめて、すべてが1つずつ自動的に実行されるようにする方法がわかりません。
ツイルにはそういう可能性があるようです。ツイルのドキュメントページ(ここで確認できます)のこの例は、いくつかのコマンドで構成される1つのコードを示しています:(ソース:narod.ru)
だから、私の質問は:どうすればすべてのコマンドをツイルにまとめることができますか?
アップデート1:
(この更新はS.Markへの私の応答です)
こんにちは、S.Mark !!! 返信が遅くなってすみません。まず第一に、私のツイルとPython関連のフォルダーの場所に関するいくつかの情報:
Python2.5が私のコンピューターにインストールされているパス:C:\ Python25
私のコンピューター上のツイル-0.9へのパス:E:\ tmp \ twill-0.9
次のコマンドを自動的に実行したいとします。
このコードはyahooページを調べてから、そのHTMLコードをresult.htmlファイルに保存する必要があります。それで、あなたの指示に従おうとして、私は最初に2行だけで構成されるこのコードを含む「test.txt」ファイルを作成し、そのファイルを「test.twill」としてtwill-0.9フォルダーに保存しました。ファイルはE:\ tmp \ twill-0.9\test.twillになりました
次に、ファイル名をパラメーターとしてtwill-shコマンドにさまざまな方法で渡そうとしましたが、機能しませんでした(何か間違ったことをしているに違いありません):(
ソース:narod.ru)
(出典:narod.ru)
しかし、ご存知のとおり、私は少し実験して、これら2つのコマンドのみを含むtest.pyファイルを作成することにしました。このファイルもtwill-0.9フォルダー(E:\ tmp \ twill-0.9 \ test.py)に配置し、twillのrunfileコマンドを使用してtwillシェルから実行してみることにしました。驚くべきことに、このファイルは機能しました。:(
ソース:narod.ru)
それを実行した後、C:\ Python25フォルダーを調べて、そこに新しく作成されたresult.htmlファイルを見つけました!
ここで行ったことは、twillコマンドを使用してtwillシェルからファイルを実行することです。現時点ではまさにそれが必要ですが、他のサポーター(以下を参照)は、ツイルシェルからではなく、Pythonシェルからすべてのことを実行する必要があることを示唆しています。これは、まだ方法がわかりません。
次のステップは、「Google App Engine」で同様のコードを実行することですが、私が知る限り、Pythonのみが認識され、ツイルは認識されません。つまり、ツイルでの操作方法しかわからない場合は、 Pythonではないため、「GoogleAppEngine」でコマンドを実行することはできません。
アップデート2:
(2010年4月23日金曜日、午前3時48分15秒(GMT + 0.00))
(この更新は、S.Markに対する私の2番目の応答です)
コマンドプロンプトからの実行も成功していないようです:(
出典:narod.ru)
python - ツイルと python を「Google App Engine」で実行できる 1 つのコードに結合するにはどうすればよいですか?
コンピューターに twill をインストールし (以前に Python 2.5 をインストールしました)、最近使用しています。
Python は、コンピューターのディスク C にインストールされています: C:\Python25
ツイル フォルダー (「twill-0.9」) は次の場所にあります: E:\tmp\twill-0.9
ツイルで使用しているコードは次のとおりです。
このコードは、アカウントを持っている 1 つの Web サイトにログインし、その Web サイトの他のページの HTML コード (ログイン後にのみアクセス可能) を記録し、「結果. txt」(もちろん、このコードを使用する前に、まず「my login」を実際のログインに、「my password」を実際のパスワードに、「some website's sign-in page URL」および「some other page of some from from」に置き換える必要があります。そのウェブサイト」はそのウェブサイトの実際の URL で、番号 2 はそのウェブサイトのログイン ページでサインイン フォームとして使用されるそのウェブサイトのフォームの番号です)
このコードは、「twill-0.9」フォルダーにある「test.twill」ファイルに保存します: E:\tmp\twill-0.9\test.twill コマンド プロンプトからこのファイルを実行します: python twill-sh test。あや織り
さて、私も「Google App Engine」から「Google App Engine SDK」をインストールしてしばらく使っています。
たとえば、私はこのコードを使用しています:
このコードは、「誰もスパムの繰り返しを検査しない」というフレーズを md5 ダイジェストに変換するのに役立ちます。
では、これら 2 つのコードを「Google App Engine」で実行できる 1 つの Python スクリプトにまとめるにはどうすればよいでしょうか。
たとえば、コードで「Google App Engine」から Web サイトにログインし、その Web サイトの別のページに移動し、その HTML コードを記録し (これが私のツイル コードの機能です)、この HTML コードを md5 ダイジェストに変換します。 (それが私の2番目のコードが行うことです)。では、これら 2 つのコードを 1 つの Python コードに結合するにはどうすればよいでしょうか?
どうにかツイルを輸入してやればいいのでしょうが、どうすればいいのでしょうか?Python コード (「Google App Engine」によって実行されているコード) は、インターネット上のどこかからツイルをインポートできますか? それとも、「Google App Engine」にはすでに twill がインストールされているのでしょうか?
更新 1:
(この更新は、Wooble の回答に対する私の回答です)
__init
これは、 __.py ファイルを含むすべてのフォルダー (私の「twill-0.9」フォルダー内) のリストです。(このリストの一部のフォルダーは、このリストにも記載されている他のフォルダー内にあります):
E:\twill-0.9\build\lib\twill\extensions\match_parse
E:\twill-0.9\build\lib\twill\extensions
E:\twill-0.9\build\lib\twill\other_packages\_mechanize_dist
E:\twill-0.9\build\lib\twill\other_packages
E:\twill-0.9\build\lib\twill
E:\twill-0.9\twill\extensions\match_parse
E:\twill-0.9\twill\extensions
E:\twill-0.9\twill\other_packages\_mechanize_dist
E:\twill-0.9\twill\other_packages
E:\twill-0.9\twill
python - 環境変数
I use the module mechanize
in order to log in a site. When I import twill.commands
without any other apparent use, some debug messages [0] are displayed [1]. When I delete it, these messages disappear.
How can I see what is changed in the environment in order to emulate it and remove this dependency?
[0] Using the logging module.
[1] More specifically, I am interested in a Following HTTP-EQUIV=REFRESH
message.
UPDATE: It turned out that there is a bug in twill.commands which was creating an error when trying to follow the HTTP-EQUIV=REFRESH
header. After removing the import twill.commands
and the ugly work around it, everything works smoothly.
django - django-nose testrunner は --with-django オプションを使用しません
--with-django
ノーズテストを実行するとき、django-nose runner はにオプションを提供しないnosetests
ため、URL にアクセスしようとするとノーズ + Twill テストが失敗します。
手動で指定--with-django
するか、環境変数を設定NOSE_WITH_DJANGO=1
すると、テストは正常に実行されますが、次の例外が発生します。
nosetests --with-django
テストを正常に実行します
python - Python (with twill) が、ここで Yahoo メールボックスにログインしたくないのはなぜですか?
誰か、ここで何が起こっているのか説明してくれませんか。Yahoo のメールボックスにログインしようとすると、Python が (twill で) 動作しないようです:
更新 1 :
(この更新は、Robus に対する私の回答です)
こんにちは、ロバス!!!
まず第一に、あなたが書いたときのタイプミスだと思います:
これが私がしたことです: C:\Python26\Lib\site-packages\twill-0.9-py2.6.egg\twill\other_packages\ に行きました
あなたはこのパスを意味していたと思います:「C:\Python26\Lib\site-packages\twill\other_packages」。そうしないと、「twill-0.9-py2.6.egg」という名前のフォルダー/ディレクトリが表示されません。この名前のファイルしかありません (mechanize のインストール中にダウンロードされたと思われるファイルです)。私の仮定が間違っているかどうか教えてください。
それで、あなたの指示に従って、私はこれをしました:
コンピューターに「C:\Python25\Lib\site-packages\twill\other_packages_mechanize_dist」が見つかりました (ご覧のとおり、python26 はありませんが、python 25 がインストールされています。これも問題になる可能性があります)。
その名前を「_mechanize_dist_backup」に変更しました (フルパスは「C:\Python25\Lib\site-packages\twill\other_packages_mechanize_dist_backup」になりました)
ダウンロードして解凍した「mechanize-0.2.2」を「C:\Python25\Lib\site-packages\twill\other_packages」にコピーしました (フルパスは「C:\Python25\Lib\site-packages\twill\other_packages\ です」機械化-0.2.2 ")
その名前を「_mechanize_dist」に変更しました (フルパスは「C:\Python25\Lib\site-packages\twill\other_packages_mechanize_dist」です)
「 _mechanize_dist_backup 」から「 ClientForm」ファイルをコピーし、「 _mechanize_dist」に貼り付けました(実際、「 ClientForm 」という名前のファイルが 2 つ見つかりました。1つはPython ファイルで、もう 1 つはコンパイル済みの Python ファイルです。両方をコピーして貼り付けました。彼ら)。
それを行った後、これらすべてのコマンドを実行しようとしましたが、最初から行き詰まりました-今ではツイルをインポートすることさえできませんでした:
新しく作成された「 _mechanize_dist 」をシステムが認識していないようです。
Python 26 ではなく Python 25 を使用していることが原因でしょうか? それとも、何か別の理由があるのでしょうか。
python - Python の Twill を使用してリンクを開く: 「'module' オブジェクトには属性 'Popen' がありません」 とは何ですか?
Python 2.5.4をダウンロードしてコンピューター (私の OS はWindows XPです) にインストールし、「Goggle App Engine Software Development Kit」</a> をダウンロードして、Python で最初のアプリケーションを作成しました。同じ名前の小さな python ファイル ( helloworld.py )。その小さなファイルの内容は次のとおりです。
このアプリケーションを自分のコンピューターでローカルに実行するたびに「Goggle App Engine Software Development Kit」</a>、私のブラウザー (FireFox) は常にHello, world!という白いウィンドウを表示しました。その中に書かれています。
それから私はダウンロードしましたそれをひねり、helloworldディレクトリに展開します。Twill を適切にインストールすると、Twill シェルからいくつかの小さなコマンドを実行できました。たとえば、次のリンクから Web ページに移動できます。
次に、Python から直接同じ操作を実行したいと考えました (つまり、Python から Twill を使用することにより)。これについて、Twill のドキュメント ページには次のように記載されています。
ツイルの Python API
TwillBrowser の使用 拡張機能の作成
ツイルは基本的に機械化パッケージの周りの薄いシェルです。すべての twill コマンドは commands.py ファイルに実装されており、pyparsing は入力を解析して Python コマンドに変換する作業を行います (parse.py を参照)。インタラクティブなシェル作業と readline のサポートは、(標準の Python ライブラリから) cmd モジュールを介して実装されます。
Python からツイルを使用する
Python から twill を使用するには、かなり単純な方法が 2 つあります。(どちらも互換性があるため、どちらかを選択する必要はありません。適切な方を使用してください。)
1 つ目は、commands.py 内のすべてのコマンドを単純にインポートして、Python から直接使用することです。例えば、
これには、コマンド リファレンスで文書化された一連のコマンドに直接関連付けられるだけでなく、非常に単純であるという利点があります。
ということで、こんな使い方をすることにしました。helloworld.pyの以前のコンテンツを削除し、新しいコンテンツを追加しました。
しかし、 「Goggle App Engine Software Development Kit」</a>を使用して自分のコンピューターでそのファイルを実行しようとすると、ブラウザーは www.python.org Web サイトのコンテンツを表示する代わりに、次のエラー メッセージを表示します。 ' オブジェクトに属性 'Popen' がありません:
そのページの最後の 3 行を次に示します。
: 'module' オブジェクトには属性 'Popen' がありません
この Popen 属性とは何か、私がここで間違っていることを誰かに説明してもらえますか?
よろしくお願いします。
更新 1
(この更新は、 leolukによって以下に提供される 2 番目の回答に対する私の回答です)
こんにちは、レオルク!!!
私はこのようにしてみました:
しかし、うまくいきませんでした。次のエラー メッセージが表示されました。
(全ページはこちらからご覧いただけます)
それが何を意味し、何が悪かったのか分かりますか?