2014-06-18 1 views
1

내 코드는 다음과 같습니다는 XPath를 찾는 방법, 요소 파이썬 셀레늄의 클래스 이름은

driver.get("http://www.thegoodguys.com.au/buyonline/SearchDisplay?pageSize=16&beginIndex=0&searchSource=Q&sType=SimpleSearch&resultCatEntryType=2&showResultsPage=true&pageView=image&searchTerm=laptops") 
link=(); 
linkPrice=(); 
price=(); 
productName=[]; 
Site='Harvey Norman' 
link=driver.find_elements_by_class_name("photo") 

linkPrice=driver.find_elements_by_class_name("product-title") 

price=driver.find_elements_by_xpath("//div[@class='purchase']/span/span") 

내가 제공된 XPath와 class_name을이 올바른지 여부를 모르겠습니다. 어떤 사람이 그들을 확인할 수 있는지 알려 주시길 바랍니다.

+0

그것은 말할 것도 없습니다 당신의 HTML – olyv

+0

없이. – Sebastian

답변

1

developer tools 또는 firebug 클래스와 요소의 HTML을 확인 공예 손을 추천 할 것입니다 자세한하고 불안정하다 ids. 귀하의 질문에 link 다음에 나는 사진이라는 클래스를 찾을 수 있지만 linkPrice와 가격에 대해서는 다른 클래스를 사용해야합니다.

시도 :

price=driver.find_elements_by_class_name("price") 
linkPrice=driver.find_elements_by_class_name("addtocart") 

나에게 제공 : 그는 첫 번째 줄에 URL을 제공

price[0].text 
u'$496' 
linkPrice[0].text 
u'ADD TO CART' 
+0

제품 이름을 가져올 수없는 이유는 무엇입니까? 인쇄물 이름 [i]' – Jeevan

+0

위의 변경 사항이있는 결과 : '$ 496 없음' – Jeevan

+0

잘못되었습니다. elem 근처에 get_attribute ("alt" 대 전 범위 (0, 16)에서 : [I] = \t ELEM 링크 [I] .get_attribute ("ALT") \t productName.append (ELEM) \t 인쇄 가격 [I]는 .text \t 인쇄 제품명' – Jeevan

1

크롬에서는 $ x ("// foo") 또는 $ (". foo")와 같은 개발자 도구 콘솔을 사용하여 Xpath를 확인할 수 있습니다. Firebug for Firefox 또한 확인하게됩니다

또한 당신을 위해 XPath는을 제안합니다 브라우저를 그러나 이들은 종종 그래서 당신은 간단하게 사용할 수있는 파이어 폭스에서