나는 크롬과 함께 셀레늄에서 일하고 있습니다. 내가 액세스하는 웹 페이지는 동적으로 업데이트됩니다. 결과를 보여주는 HTML이 필요합니다. '요소 검사'를 할 때 액세스 할 수 있습니다. 내 코드에서 해당 html에 액세스하는 방법을 알지 못합니다. 나는 항상 원본 HTML을 얻습니다.
나는 이것을 시도했다 : Python을 사용하여 Selenium WebDriver에서 WebElement의 HTML 소스 가져 오기
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)
약간의 지연 후에 작동하는 것 같습니다. 내가 당신이라면 지연 시간을 실험 해보아야합니다.
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
(빠른 살펴본 후 찾을 수 있음).
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다