2017-06-22 52 views
0

为什么这个特定的URL的Python代码找不到标记?在Chrome开发工具中,您可以看到该标签存在。我已经尝试过使用不同的等待而没有任何成功。Selenium找不到标记

from selenium import webdriver 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support import expected_conditions as ec 
from selenium.webdriver.support.ui import WebDriverWait 

driver = webdriver.Chrome('E:/Work/IdeaProjects/web_loaders/movie_scraper/chromedriver.exe') 
driver.implicitly_wait(3) 

url = 'https://fmovies.is/film/gilmore-girls-4.krm6' 
print('opening %s' % url) 
driver.get(url) 
content = driver.find_element_by_id('player').find_element_by_class_name('cover') 
content.click() 
print('after click') 
src = WebDriverWait(driver, 12).until(
    ec.presence_of_element_located((By.TAG_NAME, 'video')) 
).get_attribute('src') 

@DebanjanB,我跳过代码搜索视频“吉尔莫女孩”,因为它是不关心这个问题。根据你的问题。请打开网站https://fmovies.is。在搜索栏中输入“Gilmore Girls”,然后按。点击第一个找到的项目。浏览器打开URL https://fmovies.is/film/gilmore-girls-6.mwo7。在此页面中,您可以看到带有播放按钮的空白“播放器”。请注意,当前打开的链接不是流媒体链接。请点击播放图标。浏览器将打开新的链接并开始流式视频。我正在尝试提取最后一个链接。如果在Chrome中按“选择元素”按钮并选择流媒体播放器,则会在“元素”标签中看到标签。您要求的行只是试图找到这个标签。硒的明确等待使用有

+0

是标签里面任何框架或iframe标签? –

+0

@osya您可以考虑在访问URL后更新您的确切手动步骤吗?谢谢 – DebanjanB

+0

视频在iframe中。我们需要在访问inside.driver.switch_to_frame(driver.find_element_by_tag_name(“iframe”))之前切换帧。 –

回答

0

这个代码将有助于你得到的网址您已经例如,在使用标签:

from selenium import webdriver 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support import expected_conditions as ec 
from selenium.webdriver.support.ui import WebDriverWait 


driver = webdriver.Chrome() 
driver.maximize_window() 

url = 'https://gomovies.to/film/gilmore-girls-a-year-in-the-life-season-1-18045/' 


print('opening %s' % url) 
driver.get(url) 
content = driver.find_element_by_class_name('mvi-cover') 
content.click() 
print('after click') 

src = WebDriverWait(driver, 10).until(
    ec.presence_of_element_located((By.XPATH, '//*[@id="media-player"]//video')) 
) 
print src.get_attribute('src') 

输出将是这样的:

C:\Python27\python.exe C:/Users/osya.py 
opening https://gomovies.to/film/gilmore-girls-a-year-in-the-life-season-1-18045/ 
after click 
http://c5s1.vsharing.ru/movies09/Series/2016/11/27/Gilmore.Girls.2016.S01E01.720p.WEBRip.x264-TheRival.mp4?h=sd8ZYN1c0xLL5D8qmxARSg&e=1498145815 
+0

有没有这样的问题,该网站https://gomovies.to你正在使用的。此问题特定于https://fmovies.is网站 – osya