我正在抓取该页面的网址https://www.betexplorer.com/soccer/russia/premier-league-2019-2020/results/
对于每个https://www.betexplorer.com/soccer/russia/premier-league-2019-2020/cska-moscow-fc-tambov/8Ya3mpOC/这样的网址 我想抓下bet365开局赔率,然后使用这部分代码
try:
driver.find_element_by_xpath("//*[@id='sortable-1']/tbody/tr[6]/td[4]/span").click()
sleep(3)
homeodd = driver.find_element_by_xpath('//table[starts-with(@id,"aodds")]//tr[th="Opening odds"]/following-sibling::tr/td[@class="bold"]').text
print (homeodd)
except NoSuchElementException:
homeodd = 'No odds found'
print(homeodd)
使用此代码,我可以抓取我想要的内容,但是当我尝试使用X时,两个开局赔率我的结果空白
try:
driver.find_element_by_xpath("//*[@id='sortable-1']/tbody/tr[6]/td[5]/span").click()
sleep(3)
drawodd = driver.find_element_by_xpath('//table[starts-with(@id,"aodds")]//tr[th="Opening odds"]/following-sibling::tr/td[@class="bold"]').text
print (drawodd)
except NoSuchElementException:
drawodd = 'No odds found'
print(drawodd)
在某些页面中也没有弹出赔率的弹出窗口,我尝试了这部分代码
else:
homeodd = driver.find_element_by_xpath("//*[@id='sortable-1']/tbody/tr[6]/td[4]/span").text
print (homeodd)
答案 0 :(得分:1)
您应该修复XPath表达式。前三个使用isStretchWithOverflow="true"
。最后一个使用findElement
。
要获得家庭赔率:
findElements
要使抽奖变得奇怪:
//td[a[.="bet365"]]/following-sibling::td[span][1]/span
要摆脱困境:
//td[a[.="bet365"]]/following-sibling::td[span][2]/span
要全部获得:
//td[a[.="bet365"]]/following-sibling::td[span][3]/span
把它们全部都弄好可能会更好,因为您打电话//td[a[.="bet365"]]/following-sibling::td[span]/span
1次。对于每个匹配项,将结果的每个元素(一个列表)存储在您的特定列表中(在本位奇数列表中附加第一个,在平局奇数列表中附加第二个,不在奇数列表中附加第三个)。
编辑:要获取开盘赔率,请从属性driver.find_elements_by_xpath
中提取值。 XPath:
data-opening-odd
硒语法:
//td[a[.="bet365"]]/following-sibling::td[span][1]/@data-opening-odd
//td[a[.="bet365"]]/following-sibling::td[span][2]/@data-opening-odd
//td[a[.="bet365"]]/following-sibling::td[span][3]/@data-opening-odd
//td[a[.="bet365"]]/following-sibling::td[span]/@data-opening-odd