self.driver.get(“https://hotels.ctrip.com/”)
self.driver.set_window_size(1911, 1040)
self.driver.find_element(By.ID, “hotels-destination”).click()
js = ‘document.getElementById(“hotels-destination”).value=“武汉”’
self.driver.execute_script(js)
time.sleep(3)
self.driver.find_element(By.CSS_SELECTOR, “.search-btn-wrap”).click()
设置为目标值之前,加个等待;因为页面的一些资源还没完全加载,你就设置了它的属性,加载完成后,就会覆盖你设置的信息,所以再次获取的时候,还是默认值
在第三行后面加个time.sleep(3)试试
建议使用clear()方法清除文本框中的内容再send_keys数据,现在的web页面大部分都是DOM驱动的,你的js脚本并不会执行,或者执行并不会改变页面属性
试过clear()后sendkeys(),也加过等待,输入框的值可以输入,但是点击查询后,又恢复成默认值,可能是查询有监听事件吧,不知道怎么处理