最近、pythonでseleniumを使用し始め、以下の問題が発生しました。それは単純かもしれないが、私は別の答えを検索しながら多くを試したが、それを解決することはできませんでした。 私は複数のソリューションが、どれも仕事を試してみましたPythonを使用してセレンのsmaeクラス名を持つ2番目のテキストボックスをクリックする方法
<div class="bet-widget-main-row-right">
<div class="bet-widget-main-content">
<div class="bet-params">
<div class="param-wrapper">
<span class="param-label">Label1</span>
<div class="param-input -desktop">
<div class="param with-error">
<span class="param-input-wrapper">
<span class="param-currency numeric-value">£</span>
<input type="text" class="param-text-input text-input numeric-value" value=".04" tabindex="0" size="3" maxlength="11">
</span>
</div>
<div class="param-input_ticks"></div>
</div>
</div>
<div class="param-wrapper">
<span class="param-label">Label2</span>
<div class="param-input -desktop">
<div class="param">
<span class="param-input-wrapper">
<input type="text" class="param-text-input text-input numeric-value" value="2.18" tabindex="0" size="4" maxlength="8">
</span>
</div>
<div class="param-input_ticks"></div>
</div>
</div>
</div>
</div>
<div class="bet-submit"><button class="confirm-bet-button -accented micro-button" type="submit" disabled="" tabindex="0"><span>Button1</span></button></div></div>
クラス名「のparam-テキスト入力テキスト入力数値価値」を持つ第二のテキストボックスをクリックします:
self.driver.find_element_by_xpath("//[@class='param-text-input.text-input.numeric-value'][2]").clear()
self.driver.find_element_by_css_selector("[input.param-text-input.text-input.numeric-value][2]").clear()
self.driver.find_element_by_xpath("//input[@class='param-text-input'][2]").clear()
任意のポインタ/助けていただければ幸いです。
にはオプションはありませんでしたしない限り.. XPathを使用したくなかった魅力のように働きました。うまくいけば、他の提案された解決策も正しいでしょう。 – Nik
@Nik質問の中にxpathのコードトライアルを表示しましたが、あなたがCSSを好むという手がかりを残しませんでした。私はxpathベースのAnswersもあなたの側からの評価が必要だと思います。多くの研究の後、より良い性能を与えるCSSかxpathかどうかは依然として決定的ではありません。いくつかの回答がよりうまく構築されています☺ – DebanjanB
@DebanjanBプラットフォームの使い方が間違っていて、私の質問の中で不完全な情報が出てきたら、私はかなり新しいstackoverflowです。私はまだ学んでおり、あなたのような人々からのサポートをプラットフォーム上でよりうまくやっていきます:) – Nik