selenium phantomJS状态'元素不可见'但在firefox中工作正常

时间:2016-01-22 23:16:47

标签: python selenium webdriver phantomjs

我正在尝试将一个邮政编码输入到商店网站,当我使用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()

任何帮助将不胜感激!

2 个答案:

答案 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时错误已修复。