3

PerlWWW::Mechanizeモジュールを読みましたが、これは構文です:

$mech->tick( $name, $value [, $set] )

しかし、ウェブページのページソースを確認したところ、次のことがわかりました。

<div class="key-name" title="GLOBAL_PROCESSING">GLOBAL_PROCESSING</div>
    <div class="col-50 col-left">
    <div class="string-controls">
    <a href="#" class="control-expand-toggle"></a>
    <a href="#" class="control-activity-toggle ">0</a>
    <input type="checkbox" class="control-select-string">
    </div>

チェックボックス フィールドの ID と値が表示されません。どうすればいいですか?

また、チェック ボックスはフォームの一部ではありません。Mechanize でこのチェックボックスを参照するにはどうすればよいですか?

HTMLコード

<div id="edit-controls-leftside" class="clear-fix">
<div class="col-left">
<label>
<input id="select-all-visible" class="" type="checkbox">
&nbsp;Select all visible
</label>
<a id="expand-all" class="blue-on-dark-blue text-link arrow-leftside-down"     href="#">Show key names</a>
<a id="show-modify-nav" class="blue-on-dark-blue text-link arrow-leftside-right disabled" href="#">Modify selected...</a>
<nav id="modify-nav" style="display: none;">
<a id="show-order-translation" class="sub-nav-item" href="#">Order translations</a>
4

4 に答える 4

1

なぜあなたはこれをしようとしているのですか?

チェックボックスには名前や値がないため、フォームの一部であったとしても、送信の一部にはなりません。

このチェックボックスは、他のチェックボックスを切り替えるためにJavaScriptで使用されていると思いますか?

于 2012-12-14T14:00:43.573 に答える
1
$mech->tick( 'name' => undef );
于 2013-04-02T09:37:01.503 に答える
0

perl を使用して値のないチェックボックスをチェックするためのいくつかの回避策を次に示しますMechanize

メカナイズマニュアルより。

値が定義されていないチェックボックスをチェックするにはどうすればよいですか?

「オン」の値に設定します。

$mech->field( my_checkbox => 'on' );

ここで見つかった別のオプション

$form->find_input('checkbox_id')->check();

唯一の問題は、チェックボックスにも名前/IDがないことです。名前/ID以外のものを使用してチェックボックスを取得する方法について、他の誰かが協力してくれることを願っています。探し続けます。

編集:

以下を使用できる場合があります。

$mech->find_all_inputs( ... criteria ... )

名前やIDがないため、タイプやクラス名でチェックボックスを見つける。

于 2012-05-27T18:03:36.600 に答える
0

のメソッドcheckHTML::Form使用します。ドキュメントの引用:

一部の入力タイプは、オン/オフできるトグルを表します。これには、「チェックボックス」と「オプション」の入力が含まれます。このメソッドを呼び出すと、値の名前を知らなくても、この入力がオンになります。

HTML で動作するコード:

my $w = WWW::Mechanize->new;
$w->get('file:///tmp/10775965.html');
[$w->forms->[0]->inputs]->[0]->check;
于 2012-05-28T13:42:33.783 に答える