【发布时间】:2019-04-10 08:11:30
【问题描述】:
我试图从网站上获取文本。 iframe 是 HTML,所以我尝试了 .switch_to.frame() 但失败了。
在这个网站(https://finance.naver.com/sise/sise_trans_style.nhn) 中,有多个 iframe,但 @name = 'day' 的只有一个。 (xpath : //*[@name='day'])
所以我尝试了 switch_to.frame() 并在 iframe 中获取元素。
但是结果
from bs4 import BeautifulSoup
from selenium import webdriver
import time
url = 'https://finance.naver.com/sise/sise_trans_style.nhn'
driver = webdriver.Chrome('./chromedriver.exe')
column_list = []
try :
driver.get(url)
time.sleep(1)
iframe = driver.find_element_by_name('day')
driver.switch_to.frame(iframe)
time.sleep(1)
for n in range(4,9):
for i in range(1,12):
element = driver.find_element_by_xpath('/html/body/table[1]/tbody/tr[n]/td[i]').text
column_list.append(element)
except Exception as e :
print(e)
finally :
driver.quit()
print(column_list)
我希望 column_list 包含许多浮点元素。 但是结果是这样的。。
消息:没有这样的元素:无法找到元素:{"method":"xpath","selector":"/html/body/table[1]/tbody/tr[n]/td[i]" }
似乎该消息说我实际上并没有 switch_to.frame(ifrmae)。但我不知道为什么我失败了..
请帮忙
【问题讨论】:
标签: python-3.x iframe web-scraping selenium-chromedriver