我試圖在Selenium/Python中運行一個腳本,它需要在腳本的其餘部分可以運行之前在不同的點登錄。是否有任何方法讓我告訴腳本暫停並在登錄屏幕上等待用戶手動輸入用戶名和密碼(也許是在繼續腳本之前等待頁標題更改的內容)。如何讓Selenium/Python在繼續運行之前等待用戶登錄?
這是我到目前爲止的代碼:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
import unittest, time, re, getpass
driver = webdriver.Firefox()
driver.get("https://www.facebook.com/")
someVariable = getpass.getpass("Press Enter after You are done logging in")
driver.find_element_by_xpath('//*[@id="profile_pic_welcome_688052538"]').click()
我仍然無法弄清楚如何使一個登錄頁面,這方面的工作。例如,讓我們用facebook作爲例子。當在Selenium中加載Facebook時,它需要用戶登錄。我希望它打開Facebook,等待用戶手動登錄,然後在檢測到用戶已到達下一頁時繼續運行腳本。 – JStew
手動登錄Facebook。然後在登錄後保存HTML。在頁面上尋找一些可以充當頁面加載信號的元素。然後設計一個'driver.find_elements_by _ *(...)'來找到該元素。在'wait.until(...)'命令中使用它。 – unutbu
我用迄今爲止的代碼編輯了我的原始問題。我將它作爲自己的學習工具來構建更大的自動化工具。當使用wait.until功能,我收到了錯誤:「全球名‘等待’沒有定義 – JStew