消息:过时元素引用:元素未附加到页面文档(会话信息:chrome=83.0.4103.61)

2024-04-18 23:02:02 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将WebDriverWait(驱动程序,10)用于此代码? 因为我不能提取超过一页的数据

ff=['https://www.oddsportal.com/soccer/england/premier-league-2017-2018/tottenham-manchester-city-ddkDE7Ld/#over-under;2','https://www.oddsportal.com/soccer/england/premier-league-2017-2018/burnley-bournemouth-xSUUEVHO/#over-under;2'] webD=wb.Chrome(r'C:\Users\PERSONL\Downloads\chromedriver_win32 (1)\chromedriver.exe') k=len(ff) for i in range(k): webD.get(ff[i]) c03= webD.find_elements_by_class_name('bt-2') c05=c03.find_elements_by_class_name('table-container') c04=c03.find_elements_by_tag_name('strong') kk.append(c04) fla=kk[0] print(fla) for i in fla: m=i.text num.append(m)

Tags: namehttpscombywwwelementsfindff
1条回答
网友
1楼 · 发布于 2024-04-18 23:02:02

只有一个webelement具有类“bt-2”,因此它应该是webD.find_element_by_class_name(elements中没有“s”)。这一行无论如何都应该重写为

c03 = WebDriverWait(webD, 10).until(EC.presence_of_element_located((By.CLASS_NAME, 'bt-2')))

您还可以像这样迭代ffURL列表,而不是使用范围/索引(它更像python):

num=[]
for url in ff:
    driver.get(url)
    c03 = WebDriverWait(webD, 10).until(EC.presence_of_element_located((By.CLASS_NAME, 'bt-2')))
    c05 = c03.find_elements_by_class_name('table-container')
    c04 = c03.find_elements_by_tag_name('strong')
    for i in c04:
        print(i.text)
        num.append(i.text)

相关问题 更多 >