更新。。。。。这个动态网页其实直接抓取ajax请求就可以了,很简单,我之前想复杂了,虽然也实现了,但是效率极低,不过没关系,就当作是对Selenium的一次学习吧
1.最近在爬取一个动态网页,其中为了更新页面,需要选择不同的选项,即对下拉框进行处理,这里的下拉框是用input实现的假的下拉框,但是他后面又有一个隐藏的select,我原本想着是将隐藏的select使用js脚本进行修改变得可见,之后进行点击等操作,但是使用网上方法之后,发现select可见到是可见了,但是点击之后却没有任何效果,各方搜索无果,最后决定自己解决这个问题,解决方案如下
思路使用selenium完全模拟人类的操作,一步一步点击可见的按钮
,一,定位下拉框按钮,并进行点击,
二,点击下拉框按钮之后会出现一个列表,定位这个列表之中的某一项元素,进行点击,注意这一步必须在下拉框按钮点击之后才能进行(使用time.sleep() 等待几秒,不然会提示点击内容不存在)
通过这两步,我们就可以改变动态网页的信息了,代码如下
def getButton(browser):
# 获取下拉框按钮
Button= browser.find_elements_by_class_name("textbox-icon") # 定位哪一栋楼按钮
buildButton= Button[0]
floorButton= Button[1]
buildingsAndFloors= browser.find_elements_by_class_name("combobo