node.js / puppeteer를 사용하여 이미지 파일을 업로드 할 수 없습니다.

존 스미스

지금까지 두 가지를 시도했습니다.

const iconupload = await page.$x(xpath); //Triple-checked that this x path is correct
iconupload[0].uploadFile(picture); //Triple-checked that this picture path is correct

await page.evaluate((picturepath) => {
    document.querySelector('input[type=file]').value = picturepath
}, picturepath);

첫 번째 방법의 경우

TypeError: Cannot read property 'uploadFile' of undefined

두 번째 방법의 경우

Uncaught DOMException: Failed to set the 'value' property on 'HTMLInputElement': This input element accepts a filename, which may only be programmatically set to the empty string.

이 입력에 이미지를 업로드하는 방법이 있습니까?

존 스미스

해결

문제의 이미지 입력은 iframe 요소 내부에있었습니다. 파헤쳐 본 결과 iframe 요소가 페이지 내부에 포함되어 있으면 정상적인 인형 기능이 작동하지 않는다는 것을 발견했습니다. 문서 에 따르면 page. $ x, page. $ 및 page.waitFor와 같은 일반적인 인형 기능은 실제로 page.mainFrame (). $ x, page.mainFrame (). $ 및 페이지에 대해 SHORTCUTS이기 때문입니다. mainFrame (). waitFor (). 따라서 이러한 방법은 페이지에 포함 된 보조 프레임에서 작동하지 않습니다.

이것을 극복하기 위해 내가 한 일이 있습니다. 먼저 src 속성에서 iframe의 링크를 얻었습니다. 그런 다음 새 페이지를 만들고이 새 페이지를이 링크로 이동했습니다. 그런 다음 평소처럼 긁어 낼 수 있습니다. 다음은 내 코드의 변형 된 스 니펫입니다.

let framelink = await page.evaluate(() => {
     return document.getElementsByTagName('iframe')[1].src;
}); 
const picturepage = await browser.newPage();
picturepage.goto(framelink)

//Now I can just scrape normally using methods like picturepage.$x

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파일 업로드를 사용하여 node.js의 특정 폴더에 이미지를 업로드 할 수 없습니다.

분류에서Dev

node.js를 사용하는 Electron 응용 프로그램에서 xhr을 사용하여 파일 시스템에서 1GB의 파일을 업로드 할 수 없습니다 (입력 유형 파일을 사용하지 않는 하드 코딩 된 파일).

분류에서Dev

Node JS에 파일을 업로드 할 수 없습니다.

분류에서Dev

Python을 사용하여 이미지를 다운로드 할 수 없습니다.

분류에서Dev

Selenium 웹 드라이버를 사용하여 파일을 업로드 할 수 없습니다.

분류에서Dev

노드 js multer를 사용하여 지정한 디렉토리에 파일을 업로드 할 수 없습니다.

분류에서Dev

Pygame을 사용하여 배경 이미지를로드 할 수 없습니다.

분류에서Dev

Flutter를 사용하여 FirebaseStorage에 파일을 업로드 할 수 없습니다.

분류에서Dev

jquery를 사용하여 파일을 업로드 할 수 없습니다.

분류에서Dev

MongoDb GridF를 사용하여 파일을 업로드 할 수 없습니다.

분류에서Dev

FTP를 사용하여 파일을 업로드 할 수 없습니다.

분류에서Dev

nodejs를 사용하여 텍스트 파일에서 이미지를 다운로드 할 수 없습니다.

분류에서Dev

HTTP GET을 사용하여 이미지를 업로드 할 수 있습니까?

분류에서Dev

AFNetworking을 사용하여 node.js가 서버에 이미지를 업로드하지 못했습니다.

분류에서Dev

Node.js (express)의 템플릿으로 ect 파일에서 for 루프를 사용할 때 여러 가지 귀중품을 보여줄 수 없습니다.

분류에서Dev

Google API Google 드라이브 Node.js는 oAuth2 파일을 업로드 할 수 없습니다.

분류에서Dev

node.js에서 EJS 파일로 이미지를 표시 할 수 없습니다.

분류에서Dev

이미지 업로드 PHP를 위해 업로드 된 파일을 이동할 수 없습니다.

분류에서Dev

Android 웹보기를 사용하여 웹 사이트에 내 이미지를 업로드 할 수 없습니다.

분류에서Dev

angularjs를 사용하여 파일을 업로드 할 수 없습니까?

분류에서Dev

파일 노드에서 <f> 토큰을 사용하여 이미지 시퀀스 경로를 수정하거나 쿼리 할 수 없습니다.

분류에서Dev

python url에서 요청을 사용하여 이미지를 다운로드 할 수 없습니다.

분류에서Dev

reactjs를 사용하여 파일을 내 양식의 경로로 업로드 할 수 없습니다.

분류에서Dev

Httprequest 라이브러리를 사용하여 서버에 이미지를 업로드 할 수 없습니다.

분류에서Dev

gd 라이브러리 php를 사용하여 이미지를 업로드 할 수 없습니다.

분류에서Dev

PHP를 사용하여 여러 파일을 폴더에 업로드 할 수 없습니다.

분류에서Dev

MKNetworkEngine을 사용하여 이미지 iOS를 PHP에 업로드-작동한다는 것을 알고 있지만 PHP를 캡처 할 수 없습니다.

분류에서Dev

node.js http.request-MapperParsingException [failed to parse]을 사용하여 ElasticSearch에 레코드를 삽입 할 수 없습니다.

분류에서Dev

여러 이미지 파일 ng-file-upload를 업로드 할 수 없습니다.

Related 관련 기사

  1. 1

    파일 업로드를 사용하여 node.js의 특정 폴더에 이미지를 업로드 할 수 없습니다.

  2. 2

    node.js를 사용하는 Electron 응용 프로그램에서 xhr을 사용하여 파일 시스템에서 1GB의 파일을 업로드 할 수 없습니다 (입력 유형 파일을 사용하지 않는 하드 코딩 된 파일).

  3. 3

    Node JS에 파일을 업로드 할 수 없습니다.

  4. 4

    Python을 사용하여 이미지를 다운로드 할 수 없습니다.

  5. 5

    Selenium 웹 드라이버를 사용하여 파일을 업로드 할 수 없습니다.

  6. 6

    노드 js multer를 사용하여 지정한 디렉토리에 파일을 업로드 할 수 없습니다.

  7. 7

    Pygame을 사용하여 배경 이미지를로드 할 수 없습니다.

  8. 8

    Flutter를 사용하여 FirebaseStorage에 파일을 업로드 할 수 없습니다.

  9. 9

    jquery를 사용하여 파일을 업로드 할 수 없습니다.

  10. 10

    MongoDb GridF를 사용하여 파일을 업로드 할 수 없습니다.

  11. 11

    FTP를 사용하여 파일을 업로드 할 수 없습니다.

  12. 12

    nodejs를 사용하여 텍스트 파일에서 이미지를 다운로드 할 수 없습니다.

  13. 13

    HTTP GET을 사용하여 이미지를 업로드 할 수 있습니까?

  14. 14

    AFNetworking을 사용하여 node.js가 서버에 이미지를 업로드하지 못했습니다.

  15. 15

    Node.js (express)의 템플릿으로 ect 파일에서 for 루프를 사용할 때 여러 가지 귀중품을 보여줄 수 없습니다.

  16. 16

    Google API Google 드라이브 Node.js는 oAuth2 파일을 업로드 할 수 없습니다.

  17. 17

    node.js에서 EJS 파일로 이미지를 표시 할 수 없습니다.

  18. 18

    이미지 업로드 PHP를 위해 업로드 된 파일을 이동할 수 없습니다.

  19. 19

    Android 웹보기를 사용하여 웹 사이트에 내 이미지를 업로드 할 수 없습니다.

  20. 20

    angularjs를 사용하여 파일을 업로드 할 수 없습니까?

  21. 21

    파일 노드에서 <f> 토큰을 사용하여 이미지 시퀀스 경로를 수정하거나 쿼리 할 수 없습니다.

  22. 22

    python url에서 요청을 사용하여 이미지를 다운로드 할 수 없습니다.

  23. 23

    reactjs를 사용하여 파일을 내 양식의 경로로 업로드 할 수 없습니다.

  24. 24

    Httprequest 라이브러리를 사용하여 서버에 이미지를 업로드 할 수 없습니다.

  25. 25

    gd 라이브러리 php를 사용하여 이미지를 업로드 할 수 없습니다.

  26. 26

    PHP를 사용하여 여러 파일을 폴더에 업로드 할 수 없습니다.

  27. 27

    MKNetworkEngine을 사용하여 이미지 iOS를 PHP에 업로드-작동한다는 것을 알고 있지만 PHP를 캡처 할 수 없습니다.

  28. 28

    node.js http.request-MapperParsingException [failed to parse]을 사용하여 ElasticSearch에 레코드를 삽입 할 수 없습니다.

  29. 29

    여러 이미지 파일 ng-file-upload를 업로드 할 수 없습니다.

뜨겁다태그

보관