有時在搜索第二個按鈕時,站點無法正確加載,因此我想檢查第一個按鈕是否可用,以便我知道站點加載正確。目前它只檢查一次 firstbutton 是否可用,如果這是真的,它會停止回圈。那么我如何回圈這段代碼,以便它每次檢查 firstbutton 是否可用,即使在 else 函式中運行 while not 代碼之后也是如此。
firstbutton 和 secondbutton 之后的代碼不能相同,所以像 Prophet's answer 這樣的東西不起作用。
while not (driver.find_elements(By.XPATH, "firstbutton")):
driver.get('different url')
driver.refresh()
else:
secondButton = driver.find_elements(By.XPATH, "secondbutton")
while not (driver.find_elements(By.XPATH, "secondbutton")):
time.sleep(1)
driver.refresh()
secondbutton[0].click()
uj5u.com熱心網友回復:
# wait while firstbutton is present
while not (driver.find_elements(By.XPATH, "firstbutton")):
driver.get('different url')
driver.refresh()
# firstbutton is found
secondButton = driver.find_elements(By.XPATH, "secondbutton")
# keep waiting and refreshing till we have both first and second button
while (not (driver.find_elements(By.XPATH, "secondbutton")) or
not (driver.find_elements(By.XPATH, "firstbutton"))):
time.sleep(1)
driver.refresh()
secondbutton[0].click()
應該適用于您的情況。
uj5u.com熱心網友回復:
看起來您正在嘗試重繪 頁面,直到 first_button和second_button 都出現在那里?
如果是這樣,您只需要重繪 ,直到找到兩個元素。
像這樣的東西:
first_button = driver.find_elements(By.XPATH, "firstbutton")
second_button = driver.find_elements(By.XPATH, "secondbutton")
while not (first_button and second_button):
first_button = driver.find_elements(By.XPATH, "firstbutton")
second_button = driver.find_elements(By.XPATH, "secondbutton")
time.sleep(1)
secondbutton[0].click()
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/398283.html
上一篇:如何使文本區域可排序?我必須將textareas放在lis中嗎?
下一篇:如果花費太長,則跳過回圈中的迭代
