javascript - PhantomJS 未检索到正确的数据

标签 javascript python beautifulsoup phantomjs

我正在尝试使用 phantomjs 抓取一个包含 javascript 的网页。我找到了一个按钮元素,当我单击它时,它会显示渲染下一个链接。但我没有得到我想要的确切输出。相反,我得到了不需要的不同输出。

代码是:

from bs4 import BeautifulSoup
import requests
from selenium import webdriver
s = requests.session()
fg =s.get('https://in.bookmyshow.com/booktickets/INCM/32076',headers=headers)
so = BeautifulSoup(fg.text,"html.parser")
texts = so.findAll("div",{"class":"__buytickets"})
print(texts[0].a['href'])
print(fg.url)
driver = webdriver.PhantomJS()
driver.get(movie_links[0])
element = driver.find_element_by_class_name('__buytickets')
element.click()
print(driver.current_url)

我得到的输出为:

javascript:;
https://in.bookmyshow.com/booktickets/INCM/32076
https://in.bookmyshow.com/booktickets/INVB/47680

我必须得到的是:

javascript:;
https://in.bookmyshow.com/booktickets/INCM/32076
https://in.bookmyshow.com/booktickets/INCM/32076#Seatlayout

实际上,我要获取的链接是由上一个链接的javascript生成的。如何获得这个链接? (座位布局链接)请帮忙!提前致谢。

最佳答案

根据我的经验,PhantomJS 效果不佳。
chrome 和 Mozilla 更好。
维塔利·斯洛博丁 https://github.com/Vitallium表示不会再开发更多的Phantomjs。

使用 Headless Chrome 或 Firefox。

关于javascript - PhantomJS 未检索到正确的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48769729/

相关文章:

javascript - 如何在不使用ActiveX控件的情况下从应用程序中获取当前登录的用户名?

python - 使用 python 和 pytables 处理大文件

python - BeautifulSoup - 只返回第一个表

javascript - svg rect 多种填充颜色

javascript - 响应 js "unknown format"

python - 如何在 Python 中对字典列表进行多排序?

python - 如何使用 Beautiful soup 和 python 获取团队文本和得分?

python - 是否可以将变量传递给 (Beautifulsoup) soup.find()?

javascript - 使用 promise 实现回退

c++ - OO 设计——在哪里放置非成员函数