셀레늄으로 웹 사이트를 테스트하기 전에 웹 사이트를 탐색하는 코드를 작성하고 있습니다. 3 개의 개별 드롭 다운 메뉴에서 값을 반복하고 제품 데이터가있는 최종 페이지를 검색하려고합니다.셀레늄 - 요소가 더 이상 DOM에 연결되지 않았습니다. - Python
지금까지 첫 번째 첫 번째 메뉴의 데이터와 두 번째 데이터의 관련 데이터를 인쇄 할 수 있었지만 첫 번째 메뉴에서 만든 목록의 첫 번째 요소 만 인쇄 할 수있었습니다.
가DropdownA 값을 포함 그래서 예를 고려
B C D
'A'를 선택하면 DropdownB는 값으로 생성된다
내 목표는 전체 트리를 커버하고 값을 반환하는 것입니다 : - 1,2,3
B - 2,3,4
C
을 - 3,4,5
등
내 스크립트 폭탄 복귀 후 :
from pyvirtualdisplay import Display
from selenium import webdriver
import time
display = Display(visible=0, size=(1024, 768))
display.start()
driver = webdriver.Firefox()
url = 'http://www.website.com'
driver.get(url)
driver.find_element_by_id('ctl00_ContentPlaceHolder1_pc_selector_selMake').click()
make_list = driver.find_elements_by_css_selector('#ctl00_ContentPlaceHolder1_pc_selector_selMake option')
for raw_make in make_list:
if 'Select' in raw_make.text:
continue
make = raw_make.text
print make
raw_make.click()
time.sleep(1)
model_list = driver.find_elements_by_css_selector('#ctl00_ContentPlaceHolder1_pc_selector_selModel option')
for raw_model in model_list:
if 'Select' in raw_model.text:
continue
model = raw_model.text
print ' ', model
driver.close()
display.stop()
정확한 오류는 다음과 같습니다 : selenium.common.exceptions.StaleElementReferenceException: Message: u'Element is no longer attached to the DOM'
내가이 그래서 만약, 셀레늄에 아주 새로운 해요 - 53,691,363,210
여기 1,2,3
내 코드의 예입니다 바보 같은 질문입니다. 용서해주세요. 나는 마음에 떠오르는 것을 시도하거나, 온라인에서 읽은 것 외에는 아무 것도 도움이되지 않았다는 것을 인정하는 것보다 더 많은 시간을 보냈다. (부분적으로 내가 만난 예들 대부분이 자바로 쓰여졌 기 때문에, Java 남자가 아니라 ...).
모든 도움, 제안, 솔루션, 리소스 등을 높이 평가합니다.
미리 감사드립니다.
이 오류가 발생하는 행을 알 수 있습니까? – Zarkonnen
첫 번째 for 루프의 첫 번째 줄에서 오류가 발생합니다. 'raw_make.text에서 'Select': ' – That1Guy
@ Zarkonnen 즉, 루프의 두 번째 루프. 코드는 처음부터 잘 실행됩니다. – That1Guy