艺恩_下拉列表切换

from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select # 下拉列表 <select>
import time

web = Chrome()
web.get('https://www.endata.com.cn/BoxOffice/BO/Year/index.html')

sel = web.find_element(By.XPATH, '//*[@id="OptionDate"]')
sel_new = Select(sel) # 把sel进行包装,就是一个下拉列表
# print(sel_new.options) # 拿到所有选项
# print(len(sel_new.options)) # 一般都是循环它的长度

# sel_new.select_by_index() # 最常用,根据索引,位置 0 1 切换
# sel_new.deselect_by_value() # 根据 value 的值 切换
# sel_new.select_by_visible_text() # 根据展示的文字切换
for i in range(len(sel_new.options)):
sel_new.select_by_index(i)
time.sleep(3) # 切换完毕等待加载数据
# 切换完了之后,抓数据
trs = web.find_elements(By.XPATH, '//*[@id="TableList"]/table/tbody/tr')
for tr in trs:
print(tr.text)

# 报错信息
# Message: stale element reference: element is not attached to the page document
# 解决办法 time.sleep(3) 切换完毕等待加载数据 太快了
posted @ 2023-08-03 22:27  严永富  阅读(9)  评论(0)    收藏  举报