Im 대화 형 웹 크롤러를 만들려면 Python + Selenium + Splinter + Firefox를 사용하십시오.Python의 Firefox + Selenium : 대화식으로 요소 html을 가져 오는 방법은 무엇입니까?
python 스크립트가 옵션을 제공하면 Selenium이 Firefox를 열고 일부 명령을 보냅니다.
지금 당장 파이썬 스크립트에서 사용자가 상호 작용하려는 웹 요소를 알게해야합니다.
내가 현재 사용하는 방법은 다음과 같습니다
마우스 오른쪽 단추로 클릭 클릭 파이어 폭스 관리자에서 클릭, 클릭 ' 요소를 검사', 웹 사이트 (파이어 폭스)에서 항목을 '복사 HTML '이면 스크립트에 직접 입력하면 계속 진행할 수 있습니다.
그러나 분명히 나는이 과정이 완벽하다고 생각합니다.
저는 자바 스크립트에 대해 아무 것도 모르지만, other questions을 읽고 나면 실제로 자바 스크립트가 해결책이 될 수 있다고 생각합니다.
스플린터는 이론적으로, 자바 스크립트를 실행하고 파이썬 스크립트에 반환 값을 선택할 수 있습니다, 그래서 :
은 다음 요소의 HTML 코드를 반환 자바 스크립트 코드를 실행할 수 있을까 사용자가 클릭 ? 따라서 이름이 인 경우 원하는 요소를 마우스 오른쪽 버튼으로 클릭 할 수 있습니까? 아메이의 코멘트
명확화 :
파이썬 스크립트는 여전히 스크립트에서 유지되는 제어 파이어 폭스 창을 엽니 다. 그리고 splinter로 javascript 코드를 실행하고 완료/정보를 반환 할 때까지 기다릴 수 있습니다. 이것은 파이썬 스크립트가 소유하고있는 Firefox 창을 클릭하거나 마우스 오른쪽 버튼으로 클릭하도록 요청할 수 있으므로 사용자가 클릭하는 요소를 "잡을"자바 스크립트를 시작하는 것이 목표입니다.
자바 스크립트가 원하는 요소를 잡아낼만큼 충분합니까?
자바에서는 여전히 "다음 원하는 요소"를 찾아 Selenium에서 사용할 수있는 식별자를 반환해야합니다. 귀하의 질문에 대한 이해에서 JS 또는 Selenium을 사용하여 페이지의 전체 HTML을 검색하고 HTML 구문 분석기를 사용하여 구문 분석하고 필요한 것을 다듬을 수 있습니다. – Amey
답변 해 주셔서 감사합니다.나는 상황이 명확하다는 것을 확신하지 못했기 때문에 설명을 확장했다. 전체 HTML을 검색하고 결과 코드를 파싱하면 사용자가 원하는 요소를 클릭하여 해당 코드를 ID, 이름, CSS 등을 통해 구체적으로 검색하지 않고 직접 사용할 수 있습니다. –
이것은 다른 컨텍스트에서도 비슷하게 보입니다 : http://stackoverflow.com/questions/17157342/pure-js-detect-if-im-clicking-an-element-within-an-element 내 코드에 적응해야하는 솔루션? –