我试图了解如何刮一些动态网页,但我无法让它工作。
(我目前正在使用的页面是betfair.com,在他们的足球直播页面上有一个动态比赛统计页面。要想看到它的效果,请访问Betfre.com->赔率->LiveBetting,点击任何一场足球比赛。
它嵌入在两个iframes中,我可以使用以下方法访问:
frame1 = browser.find_element_by_xpath('//iframe[contains(@class, "player")]')
browser.switch_to.frame(frame1)
frame2 = browser.find_element_by_xpath('//iframe[contains(@id, "playerFrame")]')
browser.switch_to.frame(frame2)我得到了一个iframe回来,可以切换到它。到目前一切尚好。然而,当我现在尝试使用“浏览器”做任何事情时,我都不会得到任何回应。
为了阅读内容,还需要做些什么呢?我正在尝试这样的方法:
browser.find_element_by_xpath("//div[contains(@id, 'in-game-stats')]")上面的内部iframe确实包含id。另外,如果我使用chrome工具尝试上述步骤,它就会工作。有什么线索可以解释为什么我没有得到上述答案?我是否需要在某件东西可用之前等待它?
发布于 2018-01-23 14:08:18
在frame2下面还有第三个iframe,在请求in-game-stats之前选择它。都在一起,
frame1 = browser.find_element_by_xpath('//iframe[contains(@class, "player")]')
browser.switch_to.frame(frame1)
frame2 = browser.find_element_by_xpath('//iframe[contains(@id, "playerFrame")]')
browser.switch_to.frame(frame2)您可以尝试找到一种更好的方法来识别这个最后的iframe,这里我将把它作为iframe2下的第一个iframe索引。
frame3 = browser.find_element_by_xpath('//iframe[1]')
browser.switch_to.frame(frame3)现在,您可以获得正在寻找的节点:
browser.find_element_by_xpath("//div[contains(@id, 'in-game-stats')]")https://stackoverflow.com/questions/48402242
复制相似问题