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



如何使用WebDriverWait(driver, 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:UsersPERSONLDownloadschromedriver_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)

只有一个webelement具有类'bt-2',所以它应该是webD.find_element_by_class_name的(元素s中没有"s"(。无论如何,这一行应该重写为

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

你也可以像这样迭代 url 的ff列表,而不是使用范围/索引(它更pythonic(:

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)

最新更新