我的代码是:
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 :(得分:1)
您可以使用chrome中的开发人员工具控制台验证Xpath,例如$ x(“// foo”)或$(“。foo”) Firebug for Firefox还允许您验证
此外,浏览器会为您推荐Xpath,但这些通常是冗长且不稳定所以建议手工制作
答案 1 :(得分:1)
在firefox中,您只需使用developer tools或firebug来检查html中的类和元素ID。在您的问题link之后,我可以找到一个名为photo的课程,但对于linkPrice和价格,您应该使用其他课程。
尝试:
price=driver.find_elements_by_class_name("price")
linkPrice=driver.find_elements_by_class_name("addtocart")
这给了我:
price[0].text
u'$496'
linkPrice[0].text
u'ADD TO CART'