我试图从网站上获取文字。 iframe是HTML,所以我尝试了.switch_to.frame()但失败了。
在这个网站(https://finance.naver.com/sise/sise_trans_style.nhn)中,有几个iframe,但@name ='day'的iframe只有一个。 (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有很多float元素。但结果是这样的......
消息:没有这样的元素:无法定位元素:{“method”:“xpath”,“selector”:“/ html / body / table [1] / tbody / tr [n] / td [i]”}
似乎消息说我实际上并没有切换到框架(iframe)。但我没有线索为什么我失败了..
请帮忙