如题,爬取动态网页的时候显示网页元素无法定位,报错如下,球球大佬捞捞T_T 报错为:NoSuchElementException: Message: Unable to locate element: iframe[title='livere'] 代码为:
from selenium import webdriver
import time
driver = webdriver.Firefox(executable_path = r'C:\Users\acer\Desktop\geckodriver.exe')
driver.get("http://www.santostang.com/2018/07/04/hello-world/")
time.sleep(20)
#driver.page_source
driver.switch_to.frame(driver.find_element_by_css_selector("iframe[title='livere']"))
comment = driver.find_element_by_css_selector('div.reply-content')
content = comment.find_element_by_tag_name('p')
print (content.text)
--------------------------------------------------------------------------- NoSuchElementException Traceback (most recent call last) <ipython-input-51-da7f25dfb630> in <module> 5 time.sleep(20) 6 #driver.page_source ----> 7 driver.switch_to.frame(driver.find_element_by_css_selector("iframe[title='livere']")) 8 comment = driver.find_element_by_css_selector('div.reply-content') 9 content = comment.find_element_by_tag_name('p') ~\anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in find_element_by_css_selector(self, css_selector) 596 element = driver.find_element_by_css_selector('#foo') 597 """ --> 598 return self.find_element(by=By.CSS_SELECTOR, value=css_selector) 599 600 def find_elements_by_css_selector(self, css_selector): ~\anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in find_element(self, by, value) 976 return self.execute(Command.FIND_ELEMENT, { 977 'using': by, --> 978 'value': value})['value'] 979 980 def find_elements(self, by=By.ID, value=None): ~\anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in execute(self, driver_command, params) 319 response = self.command_executor.execute(driver_command, params) 320 if response: --> 321 self.error_handler.check_response(response) 322 response['value'] = self._unwrap_value( 323 response.get('value', None)) ~\anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py in check_response(self, response) 240 alert_text = value['alert'].get('text') 241 raise exception_class(message, screen, stacktrace, alert_text) --> 242 raise exception_class(message, screen, stacktrace) 243 244 def _value_or_default(self, obj, key, default): NoSuchElementException: Message: Unable to locate element: iframe[title='livere']
错误信息已经很明显了,无法定位到 iframe[title='livere'] 该元素。检查页面元素可以发现两个iframe的title值并不是 livere
修改为 iframe[title='livere-comment']