首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium没有获得不同的URL

Selenium没有获得不同的URL
EN

Stack Overflow用户
提问于 2020-01-06 00:46:01
回答 1查看 51关注 0票数 0

我在Python中使用Selenium来抓取一个加载Javascript的站点,这是我的代码:[https://gist.github.com/elliotmartin/f9cb5021655f913f250b08f39a14dc9d][1]

由于某种原因,当我在不同的URL上循环时,get_boards函数将返回完全相同的结果。

例如:这个URL:

https://playhearthstone.com/en-us/community/leaderboards/?region=US&leaderboardId=STD&seasonId=73&page=1

代码语言:javascript
复制
Gets:

{“FAST44 44”:“1”,“迈斯迈尔”:“2”,“比萨”:“3”,“堆栈”:“4”,“头奖”:“5”,“加文”:“6”,“孟山都”:“7”,“维克托猎鹰”:“8”,“羚羊”:“9”,“罗兹”:“10”,“莫利诺”:“11”,“埃迪”:“12”,‘'SwitchSSB':'13','Rey':'14','wabeka':'15','Enrico':'16','TheRabbin':'17','Jalexander':'18','Itim':'19','Jay':'20','DuVlad':'21','Staz':'22','BanditKeith':'23','Akatsu':'24',‘'Montius':'25'}

这个网址是:

https://playhearthstone.com/en-us/community/leaderboards/?region=US&leaderboardId=STD&seasonId=73&page=2

还获得:

{“FAST44 44”:“1”,“迈斯迈尔”:“2”,“比萨”:“3”,“堆栈”:“4”,“头奖”:“5”,“加文”:“6”,“孟山都”:“7”,“维克托猎鹰”:“8”,“羚羊”:“9”,“罗兹”:“10”,“莫利诺”:“11”,“埃迪”:“12”,‘'SwitchSSB':'13','Rey':'14','wabeka':'15','Enrico':'16','TheRabbin':'17','Jalexander':'18','Itim':'19','Jay':'20','DuVlad':'21','Staz':'22','BanditKeith':'23','Akatsu':'24',‘'Montius':'25'}

但是,在第二个URL上的Javascript加载的HTML中,这些值甚至都不存在。

所以selenium不能重新加载新的URL吗?我对硒很陌生,所以我认为这就是我的问题所在。

[

1]:https://gist.github.com/elliotmartin/f9cb5021655f913f250b08f39a14dc9d

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-06 03:30:45

试着这样做:

代码语言:javascript
复制
driver.get('https://playhearthstone.com/en-us/api/community/leaderboardsData?region=US&leaderboardId=STD&seasonId=73')

rows = driver.execute_script("""
  return JSON.parse(document.body.innerText).leaderboard.rows.reduce(function(acc, o){
    acc[o.accountid] = o.rank
    return acc
  }, {})
""")

我只是从端点获取api数据并将其返回到python

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59605502

复制
相关文章

相似问题

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