【发布时间】:2021-12-11 17:55:33
【问题描述】:
情况
我需要从 iframe 的 div 元素中提取一些文本。 我有切换到 iframe 的代码,但我无法从 div 元素中获取文本。
守则
from selenium import webdriver
import pandas as pd
from selenium.webdriver.support.ui import WebDriverWait
timeout = 100
import sys
from bs4 import BeautifulSoup
driver = webdriver.Chrome('chromedriver.exe')
driver.get('https://dealers.carwow.co.uk/dealers/sign_in')
username = driver.find_element_by_id("dealer_email")
password = driver.find_element_by_id("dealer_password")
username.send_keys("email")
password.send_keys("password")
driver.find_element_by_name("commit").click()
driver.find_element_by_link_text("""View Report""").click()
try:
driver.implicitly_wait(50)
iframe = driver.find_element_by_css_selector('iframe')
driver.switch_to.frame(iframe)
table = driver.find_element_by_id('173d5612')
table_text = table.get_attribute('innerHTML').text
print(table_text)
except Exception as e:
print(e)
driver.close()
sys.exit(0)
问题
目前它因错误而失败:'str' object has no attribute 'text' 到目前为止我的代码是这样的:
iframe 内的根树
问题
我需要得到上面红圈内的文字。我怎样才能做到这一点?为什么会出现此错误?
【问题讨论】:
标签: python selenium-webdriver web-scraping