Seleniumが踏んだ穴--ハンドルが得られない問題
自分がSeleniumで踏んだ穴を記録する
Pythonでcurrent_window_handleはseleniumのwebdriverが現在のハンドルを取得する方法で、window_handlesはすべてのハンドルを取得し、リストに戻ります.しかし、奇妙な問題が発生し、3つの4ページを開いて切り替えたいと思っていましたが、すべてのハンドルを取得してインデックスでページをジャンプしたとき、いつも成功していないことに気づき、ハンドルリストを印刷しても正しくありませんでした.
結果は
当然ながらハンドルリストには2つの値があるのではないでしょうか???私たちが実行したばかりだったからです.click()コマンドはすぐにdriverを実行する.window_handles,pythonは耳を隠すことができない勢いでハンドルを取得してハンドルリストに入れました...問題を見つければ解決します.
結果-完全な解決
注意:暗黙的な待機を追加することはできません.待機を表示するには、自分で試してみることができます.の
Pythonでcurrent_window_handleはseleniumのwebdriverが現在のハンドルを取得する方法で、window_handlesはすべてのハンドルを取得し、リストに戻ります.しかし、奇妙な問題が発生し、3つの4ページを開いて切り替えたいと思っていましたが、すべてのハンドルを取得してインデックスでページをジャンプしたとき、いつも成功していないことに気づき、ハンドルリストを印刷しても正しくありませんでした.
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get('https://www.51zxw.net/list.aspx?cid=615')
driver.maximize_window()
sleep(2)
#
selenium_index1 = driver.current_window_handle
print(selenium_index1)
driver.find_element_by_partial_link_text('2-1').click()
#
selenium_index2 = driver.window_handles
print(selenium_index2)
結果は
18
['18']
当然ながらハンドルリストには2つの値があるのではないでしょうか???私たちが実行したばかりだったからです.click()コマンドはすぐにdriverを実行する.window_handles,pythonは耳を隠すことができない勢いでハンドルを取得してハンドルリストに入れました...問題を見つければ解決します.
driver.find_element_by_partial_link_text('2-1').click()
sleep(1) # ,
結果-完全な解決
18
['18', '6442450954']
注意:暗黙的な待機を追加することはできません.待機を表示するには、自分で試してみることができます.の