홈>
선택하고
console.log()
하려고합니다
터미널에있는 웹 사이트의 모든 링크의 NodeList 그러나google.com,facebook.com,instagram.com과 같은 특정 웹 사이트에 액세스 할 수 없습니다.
요소가있다라는 것을 알고 있습니다.
document.querySelectorAll('a')
를 사용하여 개별적으로로드되는 실제 Chromium 콘솔에 요소를 확실히 기록 할 수 있기 때문입니다.
. 그러나 노드 터미널에서 링크를 추출하고 로그하려고 할 때
const links = await page.evaluate(() => document.querySelectorAll('a'))
console.log(links)
undefined
를 얻습니다
그러나 코드가 작동하는yahoo.com,linkedin.com과 같은 대부분의 웹 사이트에는 해당되지 않습니다. 여기 있습니다 :
const URL = 'https://instagram.com/';
const scrape = async () => {
const browser = await puppeteer.launch({
headless: false
});
const page = await browser.newPage();
await page.setViewport({
width: 1240,
height: 680
});
await page.goto(URL, { waitUntil: 'domcontentloaded' });
await page.waitFor(6000);
const links = await page.evaluate(() => document.querySelectorAll('a'));
console.log(links);
await page.screenshot({
path: 'ig.png'
});
await browser.close();
};
bypassBotDetectionSystem()
를 추가하려고했습니다.
이 기사 에서 제안한대로 작동하지 않습니다. 내가 말한 것처럼 Chromium에서 쉽게 탐색 할 수 있기 때문에 이것이 문제라고 생각하지 않습니다.
도움을 주셔서 감사합니다!
- 답변 # 1
관련 자료
- javascript - 반환 된 쿼리 정보에서 특정 정보를 어떻게 추출합니까?
- angular - 특정 문자로 시작하는 단어 추출
- python - 목록을 분할하여 인덱스가 주어진 마지막 k 요소와 다음 k 요소를 추출합니다
- python - numyndarray에서 특정 값보다 큰 요소 수 계산
- python - 지저분한 HTML 요소에서 두 필드를 분리 할 수 없습니다
- 파이썬의 부울 배열에서 특정 True 요소를 False로 설정하는 방법은 무엇입니까?
- 목록의 특정 요소를 다른 목록의 요소 인 python으로 임의로 대체
- python - 두 문자열이 특정 순서로 나타나는 경우 목록에서 요소 가져 오기
- xslt - XML 요소에서 네임 스페이스 속성 추출
- javascript - 문자열의 특정 부분을 추출
- java - 특정 메서드가있는 클래스에서 생성 된 스택에 일부 요소를 추가하려면 어떻게해야합니까?
- python - 특정 문자로 시작하는 배열에서 특정 요소를 제거하는 방법은 무엇입니까?
- R에서 목록의 요소를 추출하는 방법은 무엇입니까?
- python - 여러 나누기 요소에 중첩 된 앵커 요소를 추출하는 방법
- javascript - getElementsByFieldName? 특정 필드 이름을 가진 radioenum의 모든 요소를 가져옵니다
- 쉘 스크립트에서 sed를 사용하여 json 파일의 특정 값을 추출 할 수 없습니다
- JavaScript의 배열에서 기준과 일치하는 특정 요소를 제거하려면 어떻게해야합니까?
- javascript - 인형을 사용하여 div에 특정 클래스가 있는지 어떻게 확인할 수 있습니까?
- javascript - 특정 클래스의 모든 요소 ID를 검색하고 전달합니다
- json - 자식 요소를 추출하고 부모 필드를 추가합니다
관련 질문
- javascript : NodeJS에서 ElementHandle의 부모와 형제를 어떻게 얻습니까?
- javascript : cluster.queue () 호출 후 Puppeteer cluster.close () "충돌"
- javascript : 기존 모바일 앱을 업데이트하려고합니다. 초보자, 조금 도전적입니다.
- javascript : grunt-obfuscator로 js 파일을 난독 처리 : Uncaught ReferenceError : require is not defined
- javascript : PDF.js 오류 : DLL (동적 연결 라이브러리) 초기화 루틴이 실패했습니다.
- javascript : TypeError : streams.pipe는 함수가 아닙니다.
- javascript : JS 함수가 호출 될 때마다 새 HTML 요소를 생성하는 방법
- javascript : 캐나다 보험 산업에 혁명을 일으키고 자하는 수석 개발자 (6 년 이상의 경력)가 있습니까?
- javascript : 변수에 몽구스 쿼리의 값을 제공하는 방법
- javascript : NodeJS에서 이벤트 이미 터 재 할당
DOM
를 반환하려고합니다.page.evaluate
와 요소 함수가page.evaluate
에 전달 된 경우이 방법은 불가능합니다. 직렬화 할 수없는 값을 반환 한 다음page.evaluate
undefined
로 해결 귀하의 경우와 같이.ElementHandle
의 배열을 얻으려면 page. $$메소드를 대신 사용할 수 있습니다 .예 :
그러나 속성의 모든 값을 얻으려면 (예 :
href
) page. $$eval 메소드를 사용할 수 있으며Array.from(document.querySelectorAll(selector))
를 실행합니다. 페이지 내에서pageFunction
의 첫 번째 인수로 전달합니다.예 :