首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >硒,动态含量,铬网驱动器

硒,动态含量,铬网驱动器
EN

Stack Overflow用户
提问于 2018-01-23 12:51:47
回答 1查看 408关注 0票数 1

我试图了解如何刮一些动态网页,但我无法让它工作。

(我目前正在使用的页面是betfair.com,在他们的足球直播页面上有一个动态比赛统计页面。要想看到它的效果,请访问Betfre.com->赔率->LiveBetting,点击任何一场足球比赛。

它嵌入在两个iframes中,我可以使用以下方法访问:

代码语言:javascript
复制
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回来,可以切换到它。到目前一切尚好。然而,当我现在尝试使用“浏览器”做任何事情时,我都不会得到任何回应。

为了阅读内容,还需要做些什么呢?我正在尝试这样的方法:

代码语言:javascript
复制
browser.find_element_by_xpath("//div[contains(@id, 'in-game-stats')]")

上面的内部iframe确实包含id。另外,如果我使用chrome工具尝试上述步骤,它就会工作。有什么线索可以解释为什么我没有得到上述答案?我是否需要在某件东西可用之前等待它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-23 14:08:18

frame2下面还有第三个iframe,在请求in-game-stats之前选择它。都在一起,

代码语言:javascript
复制
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索引。

代码语言:javascript
复制
frame3 = browser.find_element_by_xpath('//iframe[1]')
browser.switch_to.frame(frame3)

现在,您可以获得正在寻找的节点:

代码语言:javascript
复制
browser.find_element_by_xpath("//div[contains(@id, 'in-game-stats')]")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48402242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档