我正在尝试使用 Selenium 自动填写此表格。该表格由两页组成,都需要填写。通过单击说明“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
.
我已经关注了这个答案。
如何命令 selenium 专注于新页面?
为了填写表格中的字段,我使用例如第一页上的城市字段,
city = browser.find_element_by_id("contactForm-city")
city.clear()
city.send_keys('Berlin')