2013-09-06 6 views
0

Selenium을 사용하여 vcard를 열려고합니다. vCard를 대신 전통적인 링크의 javacript 명령을 사용하여Selenium을 사용하여 Vcard 열기

driver = webdriver.Firefox() 
element = driver.find_element_by_link_text("Vcard") 
element.click() 

I을 : 자바 스크립트의

http://www.allenmatkins.com/Professionals/Ahern-William/Biography.aspx

<a id="ctl00_phContent_content_0_hlVcard" href="javascript:__doPostBack('ctl00$phContent$content_0$hlVcard','')">Vcard</a> 

**(from http://www.allenmatkins.com/Professionals/Ahern-William/Biography.aspx) 

B/C, I는 링크를 엽니 다 셀레늄을 사용하기로 결정했습니다 위 코드를 실행하면 Outlook에서 팝업이 나타나 텍스트 저장 위치를 ​​묻습니다.

일반 텍스트로 링크를 여는 방법을 찾으려고합니다. 이것을 할 수있는 방법이 있습니까?

답변

1

위대한 질문입니다. 이렇게 할 수있는 방법은 프로젝트 폴더에 vcard를 다운로드 할 수 있다는 것입니다. 그런 다음 vcf 파일을 구문 분석하십시오. 이것을 할 수있는 훌륭한 API를 발견했습니다. 다음은 같은 ReadingVcard에 대한 링크입니다. vcard를 통해 구문 분석 할 샘플 코드를 게시 할 것입니다. 파일을 다운로드하여 메모장에서 열면 vcard에서 모든 정보를 얻을 수 있습니다. 우리는 API를 사용하여 모든 정보를 검색 할 수 있습니다. 더 많은 설명이 필요한 경우 알려 주시기 바랍니다.

public static void main(String[] args) throws FileNotFoundException, IOException 
    { 
     File file = new File("William-R.-Ahern.vcf"); 
     VCard vcard = Ezvcard.parse(file).first(); 
     System.out.println(vcard.getFormattedName().getValue()); 
     System.out.println(vcard.getEmails().get(0).getValue()); 
     System.out.println(vcard.getTitles().get(0).getValue()); 
     System.out.println(vcard.getTelephoneNumbers().get(0).getText()); 
     System.out.println(vcard.getTelephoneNumbers().get(1).getText()); 
     System.out.println(vcard.getAddresses().get(0).getStreetAddress()); 
     System.out.println(vcard.getAddresses().get(0).getLocality()); 
     System.out.println(vcard.getAddresses().get(0).getRegion()); 
     System.out.println(vcard.getAddresses().get(0).getPostalCode()); 
     System.out.println(vcard.getAddresses().get(0).getCountry()); 

    } 
+0

안녕하세요 Vinay, 빠른 응답에 감사드립니다. 내 문제는 vcard를 파싱하는 것이 아니라 vcard를 실제로 가져 오는 과정입니다. 팝업의 B/C는 텍스트를 가져올 수 없습니다. 팝업을 우회하여 Selenium에서 텍스트 (driver.page_source 사용)를 얻는 방법이 있습니까? –

+1

사용중인 브라우저는 무엇입니까? 파이어 폭스의 경우 Java 코드를 통해 설정을 재정 의하여 파일을 팝업없이 지정된 위치에 자동으로 다운로드 할 수 있습니다. – Vinay

+0

예, Firefox를 사용 중입니다. Java가 아닌 Python으로이 작업을 수행 할 수 있습니까? –