我正在尝试将一个邮政编码输入到商店网站,当我使用webdriver.firefox()但这不适用于PhantomJS。相反,我得到一个错误:
NoSuchElementException: Message: {"errorMessage":"Unable to find element with id 'SL-map-search'"
这是我用来生成请求的相当简单的代码。 set_window_size仅被使用,因为其他类似的问题表明这可能会解决问题(它没有)。
driver = webdriver.PhantomJS()
# get address
driver.set_window_size(1920,1080)
driver.get("http://www.lowes.com/StoreLocatorDisplayView")
# select zipcode
element = driver.find_element(By.ID, 'SL-map-search')
element.send_keys(zipcode)
driver.find_element(By.ID, 'SL-map-search-submit').click()
任何帮助将不胜感激!
答案 0 :(得分:1)
Wait for the element出席会议:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "SL-map-search"))
)
element.send_keys(zipcode)
答案 1 :(得分:0)
当我升级到El Capitan时错误已修复。