我正在嘗試撰寫一個簡單的程式來填寫要提交的表格(包括訂單 ID 和郵政編碼),但我不斷收到以下錯誤:
selenium.common.exceptions.NoSuchElementException: Message: " (without any text following "Message
代碼試驗:
from selenium import webdriver
browser = webdriver.Safari()
browser.get('https://knowledge.tonal.com/s/order-status')
orderElm = browser.find_element_by_id('input-3')
orderElm.send_keys('1000XXX')
zipcodeElm = browser.find_element_by_id('input-4')
zipcodeElm.send_keys('90210')
zipcodeElm.submit()
我已經多次仔細檢查了我的元素 ID,雖然我對此很陌生,但我相當有信心我擁有正確的元素 ID。我做錯了什么?
uj5u.com熱心網友回復:
要將字符序列發送到您需要為
uj5u.com熱心網友回復:
這里有多個問題: A. 獲取 url 后,您不會等待頁面中的元素完全加載,因此找不到元素 B. 您擁有的定位器對我來說似乎是動態的,例如:input-3,我明白了它為input-5(雖然我在 Chrome 瀏覽器上,但這可能不排除定位器是動態的)。因此,我重構并尋找了一些我粘貼在下面的靜態定位器策略。C.zipcodeElm.submit()不起作用,因為它不是按鈕元素。我也重構了這個。所以,這里是代碼。
driver.get('https://knowledge.tonal.com/s/order-status')
WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "(//div[@data-aura-class='cOrderSearch']//input)[1]")))
orderElm = driver.find_element(By.XPATH, "(//div[@data-aura-class='cOrderSearch']//input)[1]")
orderElm.send_keys('1000XXX')
zipcodeElm = driver.find_element(By.XPATH, "(//div[@data-aura-class='cOrderSearch']//input)[2]")
zipcodeElm.send_keys('90210')
driver.find_element(By.XPATH, "//*[@data-aura-class='cOrderSearch']//parent::div//button").click()
輸出:(退出代碼0表示代碼無誤通過)
Process finished with exit code 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/418976.html
標籤:
