2017-08-29 45 views
0

我想用selenium來刮取內容,並且由於xpaths類似,我使用了一個列表以便我不需要寫'find_element_by_xpath'。我寫了一個函數來獲取內容,但內容沒有被提取。 這裏是我的代碼:Python硒 - 在循環中使用函數提取內容

def find_text(path): 
    driver.find_element_by_xpath(path).text 

ph_packages= ["PAY_AS_YOU_TALK", "EVENINGS_AND_WEEKEND_EXTRA"] 
for i in ph_packages: 
    ph_name.append(find_text('//*[@id="productButtonControls_ST_%s"]/label' % i)) 
    print ph_name 

沒有與此代碼沒有輸出,但是當我使用相同的代碼沒有作用,那麼它的工作完全罰款。

ph_packages= ["PAY_AS_YOU_TALK", "EVENINGS_AND_WEEKEND_EXTRA"] 
for i in ph_packages: 
    ph_name.append(driver.find_element_by_xpath('//*[@id="productButtonControls_ST_%s"]/label' % i).text) 

我想我在編寫函數時出錯。有人可以幫助我嗎?

回答

2

那是因爲你的函數不返回任何

def find_text(path): 
    driver.find_element_by_xpath(path).text 

應該

def find_text(path): 
    return driver.find_element_by_xpath(path).text 
+0

它幫助,謝謝! –