Selenium-python要素の配置スキル(2)

python-selenium要素の配置には、多くのヒントがあります。ここに要約があります。

 ヒント1:関連する要素に共通部分がある場合は、固定待機を追加する必要があります。全体的なデバッグ中に、固定待機を適切に増やして、コードの安定性を維持する必要があります。プルダウン時にドロップダウンボックスを選択すると、待機する必要がある場合があります。

相互依存関係(順次)の関係を持つ2つの要素に遭遇した場合、再ロードすると待機に時間がかかり、固定待機を追加する必要があります(注:必ず固定待機してください。暗黙的な待機は無効です)。

例:
ドロップダウンボックスの選択。たとえば、[州]> [都市]を選択します。州を選択した後、固定待機時間を追加してから、都市を選択する必要があります。
コード例:
driver.find_element(By.XPATH、 "// div [@ id = 'project_chosen']")。クリック()
ドロップダウンボックスドロップダウンone time.sleep(1)
driver.find_element(By.XPATH 、 "/ [@ title = '
提提项1']")。click()ドロップダウンボックスの値の入力time.sleep(2)#依存関係があるため、固定時間待機する必要があります
driver.find_element(By.XPATH、 " // div [@ id = 'openedBuild_chosen'] ")
。click ()待機ボックスを修正し、ドロップダウンボックスを選択します2 driver.find_element(By.XPATH、" / [@ title = 'OA2.7.2Version1'] " ).click()#ドロップダウンボックス2でサブオプションの値を選択します。必ずサブオプションの値を確認してください。

 

 ヒント2、同じインターフェース、要素属性は同じであるが同じ要素ではない場合、マルチ属性識別を使用できます。それ以外の場合は、要素のエラーを特定したり、異なる配置方法を使用したりできます。

 

 ヒント3、いくつかの要素が見つかりません。それは、要素がインターフェースの現在の場所に表示されなくなっている可能性があります。解決策

a、下にスクロールできます

b。ブラウザを最大化することを検討してください

c。要素が表示される位置までブラウザーを下に移動します。

例:

element = driver.find_element(By.XPATH、 "// div [@ id = 'mailto_chosen']")#スクロールバーの操作が必要な現在非表示の要素
driver.execute_script( 'arguments [0] .scrollIntoView(); '、element)
element.click()
time.sleep(1)##待機を追加する必要があります。そうしないと、正確ではなくなり、後続の要素の操作に進みます
driver.find_element(By.XPATH、 "// div [@ id = 'mailto_chosen'] / div / ul / li [@ title = 'C:Test001']")をクリック()##レイヤーに配置できる、最初にdivに移動し、次にdivの下のサブオプションに移動して入力します。

 

 ヒント4:モジュールの機能をデバッグする必要がある場合は、最初に個別に分割できる小さな機能を調整してから、全体をデバッグします

 

 ヒント5:要素が見つからない場合は、最初に要素の上端を探し、次に要素を探します。

例:
driver.find_element(By.XPATH、 "// div [@ id = 'mailto_chosen'] / div / ul / li [@ title = 'C:Test001']")。クリック()##レイヤー化可能配置。最初にdivに配置し、次にdivの下のサブオプションに配置して入力します。
または:
driver.find_element(By.XPATH、 "// td [contains(@ title、 'Manual modified Commission failure')]")。click()#タイトルをクリックして、現在の行を最初に探します。これは、要素の配置で確認できます。
##リンクに従って、BUG詳細ページ
driver.find_elementを入力します(By.XPATH、 "// td [contains(@ title、 'Manual modified Commission failure')] / a")。クリック()#次に、現在の行の相対をクリックしますクリック可能なBUGリンクを見つけてクリックして、BUGの詳細を入力するためのパス
time.sleep(1)




 

 

 

おすすめ

転載: www.cnblogs.com/123anqier-blog/p/12682843.html