멍멍이네 블로그

[c# 셀레니움 visual2019] 

 

element not interactable: element has zero size

 

웹 크롤링 도중에 뜬 에러.

 

xPath 긁어와서 클릭을 하려고 했는데 에러가 뜸.

원인 : 클릭 기능이 없는 변수를 사용함.

xPath를 긁어올 때 실수로 상위 오브젝트의 xPath를 긁어옴.

[c# 셀레니움 visual2019] 웹 크롤링

 

stale element reference: element is not attached to the page document

 

웹 크롤링 도중 뜬 에러.

 

1. sleep.

서칭 대기시간 없어서 뜰 수도 있다고 함.(구글링. 저는 이 경우가 아니었습니다)

 

2. 재사용 불가.

같은 xpath이기 때문에 처음 초기화 해놓고 계속 쓰려고 했는데 안됨.

페이지 로딩 이후 다시 초기화해서 써야함.

(ex: 버튼 xPath로 연결해놓고, 클릭하거나 다른 이유로 다른페이지 로딩시켰으면, 같은 xPath라도 다시 연결해야함.)

 

 

 

Microsoft.Office.Interop.Excel 비주얼에서 C#언어를 사용해 FileStream을 하려고 하는 중 Excel 변수 초기화 도중 에러가 뜸.

 

using Excel = Microsoft.Office.Interop.Excel;

Excel.Application excelApp = null;

excelApp = new Excel.Application(); // 에러 구문

 

에러 메시지 : 80040154 클래스가 등록되지 않았습니다. (예외가 발생한 HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)) 오류로 인해 CLSID가 {00024500-0000-0000-C000-000000000046}인 구성 요소의 COM 클래스 팩터리를 검색하지 못했습니다.

 

 

docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/interop/walkthrough-office-programming

 

 

https://stackoverrun.com/ko/q/3685260

 

 

 

컴퓨터에 Excel이 설치되어 있지 않기 때문으로 추정.

 

앱 플레이어 설치 후 어플을 켰는데, 구글 플레이 서비스가 중지됐다거나, 정보 확인 중...이 무한 로딩으로 걸렸습니다.

 

 

구글 플레이 서비스가 중지됐습니다가 무한 반복됐는데(켜졌다가 꺼졌다x반복) 스크린샷은 못 찍었네요~

 

1. 정보 확인 중... 무한 로딩

구글 플레이 서비스가 문제인 것 같습니다.

구글 정보를 못 가져오는 것 같더라구요~

재부팅이 답이다! 라고 생각해서 재부팅해보니, 구글 플레이 서비스 중지 에러가 뜨더라고요!

구글 플레이 서비스 에러를 고쳤더니 자동으로 해결됐습니다!

 

 

2. 구글 플레이 서비스 중지.

구글링 해보니, 대부분 구글 플레이 서비스 어플의 파일이 깨졌던지, 업데이트가 손상됐을 경우 뜨는 것 같더라고요~

그래서인지 대부분 해결방법으로 업데이트 제거 혹은 초기화를 한 후 새로 업데이트 or 다운한다더라고요~

 

그런데 저는 업데이트 제거 & 초기화 버튼도 없어서 헤매고 있었죠 ㅜ.ㅜ

찾아보니 앱 플레이어가 안드로이드 5.1.1 버전까지만 지원하더라고요~(구버전 다운로드하였더니...;;;)

최신 버전으로 재설치했더니 에러가 사라졌습니다

 

* 혹시 구글 플레이 서비스 중지 에러&경고창이 뜨는 경우!

구글 플레이 서비스의 파일이 손상됐는지, 최신 버전인지 확인하시고!

그래도 안된다 하면 저처럼 핸드폰이 지원 가능한 상태인지(최신 업데이트가 됐는지) 확인하시길 바랍니다.

 

 

 

그럼 오늘도 코로나 조심 ^^ㅎ

다들 즐겁고 건강한 하루하루 보내시길 바랍니다~♥

포맷 후 앱 플레이어를 실행하는데 에러가 발생했습니다 ㅜ_ㅜ

 

2020-10-03 글 작성 일자. 블루스택 설치 후 에러 발생

설정 - 엔진 - GPU 설정 - 그래픽카드 GPU를 사용(NVIDIA only) 체크했는데 에러가 뜨네요

 

부족한 파일은 링크를 타고 가서 설치하셔서 경로에 맞춰서 옮겨주세요!

 

* 자신의 컴퓨터가 32비트인지, 64비트인지 확인한 후 설치하시면 됩니다 *

 

 

 

오늘도 코로나 조심하시고~ 다들 즐겁고 건강한 하루 보내시길 바랍니다 ^^ㅎ

System.Net.WebExceiption : Server returned an error: 500 STOR : command not understood. at System.Net.FtpWebRequest.EndGetRequestStream(System.IAsyncResult

 

 

Unity3D에서 C#으로 FTP 방식으로 서버에 파일 업/다운로드 중 뜬 에러.

 

해당 에러는 파일 다운로드 중 생겼습니다.

원인은 파일을 읽어야되는데, 어떤 이유에서든 읽을 파일의 경로를 벗어남.

ex) path에 "/"가 들어가서 파일이 있는 위치가 아닌 다른 위치를 확인함.

(파일 이름에 시간변수를 더해서 넣었더니 01/01/20 이런식으로 날짜가 들어갔음.)

 

없는 위치의 폴더를 찾고, 그곳의 권한도 없고,,,

덕분에 온갖 에러가 떴던것 같습니다 ㅜ_ㅜ

'프로그래밍 > C#' 카테고리의 다른 글

[c# / 셀레니움] 웹크롤링  (0) 2020.12.06
[c#/Excel] 엑셀 리더  (0) 2020.12.06
[C#] 배열과 List의 차이  (0) 2016.02.03
[C/C#] C언어와 C#언어의 차이 / 기타 ++  (0) 2015.12.21
[C#] 부모클래스의 생성자 호출  (0) 2015.12.19

APM을 사용해서 웹서버를 만드는 도중 SELECT 문을 2중으로 써야되는 경우가 있었습니다.

그래서 구글링으로 MySQL SELECT 안에 SELECT 로 검색해서 찾은 결과들을 참고해서 코딩을 했습니다.

 

상황)

TABLE A와 B가 있다.

A라는 테이블에는 A1, A2, A3라는 컬럼이 있고,

B라는 테이블에는 A1, B2, B3라는 컬럼이 있을 때,

TABLE A에 있는 A1, A2, A3라는 값을 가져와라. 단, B라는 테이블에 있는 A1컬럼과 A.A1컬럼이 같은 값을 지닌 COUNT 값을 덤으로 가져와라! 라는 상황이었습니다!(글로 적기 어렵네요 ㅜ)

 

원하는 SELECT 값

A.A1 / A.A2 / A.A3 / CNT(A.A1 = B.A1)

 

 

쓴 코드.

SELECT 검색1, 검색2, (SELECT COUNT(*) as CNT FROM TABLE1 as t1 WHERE 조건) FROM TABLE2 as t2 WHERE 조건

 

SELECT 안에 SELECT를 하나 더 넣음으로써 원하는 결과를 달성했습니다.

 

다만 CNT에서 값을 불러오지 못한 경우, 출력할 때 NULL값을 출력하네요 ㅜ.ㅜ 

db에서 읽어오는데 갑자기 한글이 깨짐이 아니라 이상한 문자로 전환됐다.

 

한글이 "\ud55c\uae00" 이런식으로 전환 됐다.

 

 

 

 

 

 

 

처음에 utf8 문제인가 해서 php 상단에 header("Content-Type: text/html; charset=UTF-8");를 넣어줬는데도 문제가 지속됨.

 

찾아보니 json_encode 문제.

 

찾다보니 한글이 유니코드로 변환된다는 유사한 글을 발견.

 

해결방법 : 

json_encode($var); -> json_encode($var, JSON_UNESCAPED_UNICODE);

 

이밖에 json_encode의 옵션은 레퍼런스를 참고하세요~

원인 :

액세스 권한에 의해 숨겨진 소켓에 액세스를 시도했습니다. 에러 이후 httpd.conf파일에서 내 아이피:포트를 개방해준 후 apache를 start하니까 에러가 뜸.

 

에러 1. AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using -. Set the 'ServerName' directive globally to suppress this message
에러 2. (OS 10049)요청한 주소는 해당 컨텍스트에서 유효하지 않습니다.  : AH00072: make_sock: could not bind to address -

(ip같은건 가림)

 

해결 :

해결 1. AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using -. Set the 'ServerName' directive globally to suppress this message 

ㄴ 에 대한 에러는 httpd.conf파일에서 ServerName이 주석처리 돼있는데, 주석을 푼 후 자기 아이피를 적어주면 에러 사라짐. ( ex: #ServerName localhost -> ServerName 123.456.789.000 )

 

해결 2. (OS 10049)요청한 주소는 해당 컨텍스트에서 유효하지 않습니다.  : AH00072: make_sock: could not bind to address -

ㄴ 에 대한 에러는 httpd.conf파일에서 ServerName에 포트를 적어주니까 사라짐.

ex : ServerName ip:port -> ServerName 123.456.789.000:8080

      Listen port            -> Listen 8080

원인 : 

httpd.exe 파일에 

         #Order allow,deny
         #Allow from all


         Require all granted

위 내용을 밑 내용으로 바꾸어줬습니다(인터넷 참조. 버전업 되면서 바뀌었다고 함.)

https://stackoverflow.com/questions/10925528/invalid-command-order-perhaps-misspelled-or-defined-by-a-module-not-included

 

그랬더니 

에러 발견.

 

 

해결? : httpd.conf 파일에 Listen port 부분을 수정.(기본으로 80으로 설정됐습니다. 80으로 검색 후 찾으시면 되고, apache 포트로 개방하면 될 듯 합니다)