我正在尝试使用Selenium填写表单并查看结果。返回结果后,我将执行其他操作。
我可以在我想要的字段中填写搜索字词,但是当我尝试点击页面上的“过滤器”按钮时,没有任何反应。
根据我所读到的内容,看起来我必须将__VIEWSTATE
参数传递给下一页请求,但我无法弄清楚如何使用Selenium传递此参数。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("http://mywebsite.com/FilterForm.aspx")
# Enter search term
elem = driver.find_element_by_xpath('//*[@id="SearchTerm"]')
elem.send_keys("Sample Search")
# Extract __VIEWSTATE value
elem = driver.find_element_by_xpath('//*[@id="__VIEWSTATE"]')
viewstate = elem.get_attribute("value"))
# Filter Results
elem = driver.find_element_by_xpath('//*[@id="FilterResults"]')
elem.submit()