如何通过Selenium按照网址将文本发送到地理位置搜索框中

时间:2018-08-31 18:41:49

标签: python selenium selenium-webdriver iframe webdriverwait

HTML Code

我正在尝试将输入(邮政编码)输入到商店定位器中。

zipcode = input("What zip code would you like to search? ")

driver = webdriver.Firefox()
driver.get('http://www2.dollargeneral.com/About-Us/pages/storelocator.aspx')
driver.maximize_window()
print "page accesses"

inputElement = driver.find_element_by_xpath("//*[@id='address']")
inputElement.send_key(zipcode)
inputElement.send_keys(Keys.ENTER)

我还在WebDriver中尝试了多种不同的select_by方法。谁能向正确的方向推我?我过去已经使用过很多硒,难道在这个特定的网站上这是不可能的吗?感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

要在商店定位器搜索框中发送字符序列(邮政编码),您需要:

  • 首先诱导 WebDriverWait 以使所需的框架可用并切换到
  • 然后再次诱导 WebDriverWait 以使所需的元素可点击,并调用movl
  • 最后再次诱导 WebDriverWait 以使所需的元素可点击并调用movl

  • 代码块:

    click()
  • 浏览器快照:

zip

答案 1 :(得分:0)

smit9234是正确的-您需要切换框架。这有效:

from selenium import webdriver

zipcode = "91307" #input("What zip code would you like to search? ")

driver = webdriver.Chrome()
driver.get('http://www2.dollargeneral.com/About-Us/pages/storelocator.aspx')


driver.switch_to_frame("StoreLocator") 
el = driver.find_element_by_id("address")

el.send_keys(zipcode)