消息:过时的元素参考:元素未附加到页面文档(会话信息:chrome=83.0.4103.61)
Message: stale element reference: element is not attached to the page document (Session info: 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:\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)
只有一个网络元素有class'bt-2',所以它应该是webD.find_element_by_class_name
(元素s[=19中没有"s" =]).这一行无论如何都应该重写为
c03 = WebDriverWait(webD, 10).until(EC.presence_of_element_located((By.CLASS_NAME, 'bt-2')))
你也可以像这样迭代ff
url列表,而不是使用range/indexes(它更像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)
如何为这段代码使用 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:\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)
只有一个网络元素有class'bt-2',所以它应该是webD.find_element_by_class_name
(元素s[=19中没有"s" =]).这一行无论如何都应该重写为
c03 = WebDriverWait(webD, 10).until(EC.presence_of_element_located((By.CLASS_NAME, 'bt-2')))
你也可以像这样迭代ff
url列表,而不是使用range/indexes(它更像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)