使用Selenium专注于第二页表单

时间:2017-07-27 15:17:08

标签: python selenium index-error

我正在尝试使用Selenium自动填写this form。表单由两页组成,两页都需要填写。通过单击“Weiter”的橙色按钮进入第二页。

我有以下代码,

# load form into chrome, directly via its url
ad_url = 'https://www.immobilienscout24.de/expose/97655130'
form_url_end = '#/basicContact/email'
url = ad_url + form_url_end 
browser = webdriver.Chrome()
browser.get(url)

# code which fills out first page correctly

# switch to second page
window_before = browser.window_handles[0]
browser.find_element_by_xpath(
   '//*[@id="is24-de"]/div[2]/div/div[2]/div[1]/form/div/div/div[4]/div[2]/button',
   ).click()
window_after = browser.window_handles[1]
browser.switch_to.window(window_after)

此代码运行正常,直到最后一行 -  browser.switch_to.window(window_after),产生IndexError: list index out of range

我已关注this answer

如何命令selenium专注于新页面?

为了填写表格中的字段,我在第一页上使用例如城市字段,

city = browser.find_element_by_id("contactForm-city")
city.clear()
city.send_keys('Berlin')

0 个答案:

没有答案