selenium对于下拉对话框的选项选择:
如下图所示:
审查下拉列表元素可以发现,该下拉列表不属于select元素,而是通过输入文字,利用javascript搜索关联数据二次渲染而得到的对话框,因此利用selenium.find_element系列往往不能直接选中下拉列表框。
这时可以采用动作链的方法对输入框的鼠标进行悬停,然后再用xpath可以选中下拉选项,部分代码如下:
#定义动作链
ActionChains(browser).move_to_element(input).click_and_hold(input).perform()
#选定下拉选项
elements=browser.find_element_by_css_selector('#root > div > div:nth-child(3) > div > div > div.box.box-marketData > div > div > div.box-filter.relative.input-group.searchData > div')
这样就可以顺利选中javascript渲染的元素