用硒获取检查元素源的html

时间:2019-05-16 17:18:22

标签: python selenium beautifulsoup

我正在使用Chrome浏览硒。 我正在动态访问的网页更新。 我需要显示结果的html,当我执行“检查元素”时可以访问它。 我不知道如何从我的代码访问该html。我总是得到原始的html。

我尝试过:Get HTML Source of WebElement in Selenium WebDriver using Python

browser.get('http://bijsluiters.fagg-afmps.be/?localeValue=nl')
searchform = browser.find_element_by_class_name('iceInpTxt')
searchform.send_keys('cefuroxim')
button = browser.find_element_by_class_name('iceCmdBtn').click()

element = browser.find_element_by_class_name('contentContainer')
html = element.get_attribute('innerHTML')
browser.close()
print(html)

1 个答案:

答案 0 :(得分:0)

似乎经过一段时间的延迟后它仍在工作。如果我是你,我应该尝试尝试延迟时间。

from selenium import webdriver
import time

browser = webdriver.Chrome()

browser.get('http://bijsluiters.fagg-afmps.be/?localeValue=nl')
searchform = browser.find_element_by_class_name('iceInpTxt')
searchform.send_keys('cefuroxim')
button = browser.find_element_by_class_name('iceCmdBtn').click()

time.sleep(10)

element = browser.find_element_by_class_name('contentContainer')
html = element.get_attribute('innerHTML')
browser.close()
print(html)

添加:一种更好的方法是在元素可用时让脚本继续运行(例如,由于将特定元素添加到DOM之前需要花费JS时间)。在您的示例中要查找的元素是ID为iceDatTbl的表(快速浏览后即可找到)。