【发布时间】:2018-03-03 10:23:26
【问题描述】:
我一直在尝试从网站中提取作为 openload 链接的 src。 src 位于动态加载的 iframe 中。 该网站是“https://www1.fmovies.se/film/daddys-home-2.kk29w”。 现在的问题是 iframe 是动态加载的。所以这是我的代码
from selenium import webdriver
driver=webdriver.Chrome('C:\\Users\\aman krishna\Desktop\\New folder(3)\chromedriver.exe')
driver.get("https://bmovies.to/film/daddys-home-2.kk29w/78vp5j")
driver.find_element_by_xpath("//iframe[contains(@src,'<https://openload.co/embed/qe3n5GZGyGo/?autostart=true')]")
【问题讨论】:
-
呃,您没有将所有代码复制到问题中吗?
-
你有一个具体的例子来说明你的问题很好,但是你的例子使用的网站据我所知在绝大多数司法管辖区都是非法的。请选择一些更温和的东西。
-
检查this answer 是否能够处理动态帧
-
这不仅仅需要加载页面。这种页面往往会在一段时间内无法完成加载,因此我设置了
driver.set_page_load_timeout(15),然后将您的driver.get()语句包围在try: except: pass块中以手动限制以防出现问题(或使用ExpectedConditions)。然后用driver.find_element_by_css_selector(或者类似的)点击iframe,close any tabs that might pop up because of ads,等到iframe有src,再获取iframe src。 -
谢谢你们。我能够通过发送一些点击并获取页面源来做到这一点。
标签: python selenium-webdriver selenium-chromedriver