2015-09-27 61 views
-3

我是一个使用python的硒的noob。我试图从这个链接获取一些数据:http://www.dcciinfo.com/dirinfo/companies/all/10888?start=30,我想要获取的数据是公司名称,然后放入excel中,同时复制链接并将其粘贴到同一个excel列中。接下来它应该继续提到下一个公司。有人可以帮助我,并给我一些提示如何从一家公司转移到另一家公司。我无法通过使用id,xpath来识别。在下一页中必须重复相同的操作,并为所有65页完成。如何从硒的网站中获取单独的公司名称

我刚才写的基本代码硒:

browser = webdriver.Firefox() # Get local session of firefox 
browser.get("http://www.dcciinfo.com/dirinfo/companies/all/10888?start=30") # Load page 
x=browser.find_element_by_xpath("//*[@id='content']/form/div[1]/div[4]/div[1]") 

回答

0

使用.find_elements_by_xpath这将返回元素列表。然后你可以循环它。也可以使用//*[@id="content"]/form/div/div/div[1]/a代替当前的xpath

+0

不用它不点击元素,使用你已经给出的xpath!当你说循环,我应该循环什么变量? –

+0

@EbrahimShariff这给你一个元素列表。在'x'上使用for循环,并在其元素上使用click方法 – MadRabbit

0

我更喜欢CSS选择器到XPath。这应该使你朝着正确的方向前进。

browser.get("http://www.dcciinfo.com/dirinfo/companies/all/10888?start=30") # Load page 
companies = browser.find_elements_by_css_selector("div.title > a") 
for company in companies: 
    company.text // put this in Excel as the company name 
    company.get_attribute("href") // put this in Excel as the company URL 

companies是包含要的数据A标签的列表。 href包含公司的URL,.text包含公司的名称。