selenium - 问题运行 driver.find_elements_by_class_name
问题描述
https://www.oddsportal.com/profile/Keenz/my-predictions/next/
在第三个块中,我转到事件链接并尝试单击“加号”。 https://www.oddsportal.com/soccer/brazil/serie-b/criciuma-brasil-de-pelotas-61ZV2RDN/#ah;3;-1.00;0
对于此操作,我尝试获取“加号”列表并尝试选择,但我得到空列表。
def parse(driver, request):
driver.get("https://www.oddsportal.com/profile/Keenz/my-predictions/next/")
# Get indexes of PICK
picks_dict = {}
picks = driver.find_elements_by_class_name('pred-usertip')
for pick_ind, pick in enumerate(picks):
tds = pick.find_elements_by_tag_name('td')
for ind, td in enumerate(tds):
if td.text:
picks_dict['pick'+str(pick_ind)] = ind
#Get links to events
odds = driver.find_elements_by_class_name('number2')
odds_list = []
for odd in odds:
odds_list.append(odd.get_attribute('href'))
#Pick a "plus"
for ind in range(len(odds_list)):
if ind != 0:
driver.get(odds_list[ind])
print(driver.find_elements_by_class_name('ico-add')) #[]
driver.find_elements_by_class_name('ico-add')[picks_dict['pick'+str(ind)]].click() #IndexError
return
解决方案
推荐阅读
- python - 如何在python中创建一个充满NaT的时间矩阵?
- java - 在 Spring MVC 中将多个相同的对象发送到 Controller
- matplotlib - 如何在matplotlib中绘制子图水平和垂直对齐?
- assembly - GCD 8086 程序
- c# - HttpClient Post请求未在C#中发送post参数
- python - 加快图像上的平方样本求和
- arrays - Excel VBA Slicer - 根据是否找到值进行调整的数组
- sql-server - 删除 nvarchar SQL 中逗号后的最后一个值
- python - python中如何使用TypeVar进行多个通用协议的输入和输出?
- vb.net - 可以从 CrystalReport 读取数据吗?