2016-11-23 8 views
0

私は、医師の名前のリスト、そのアドレス、およびその他のフィールドをhttps://www.bcbsga.com/health-insurance/provider-directory/searchcriteriaから取得しようとしています。私は下に私のコードを添付しました。私は最後に 'for'ループに何が間違っているのか分かりませんが、私はサイト上に表示されるデータではなく、出力のようなものを得ます。Python Selenium Webdriver - ウェブサイトからシーケンシャルデータを取得する

selenium.webdriver.remote.webelement.WebElement(セッション= "ba8c85ad6e398939063d5b43ee513668"、要素= "0.6436841330730552から19")> selenium.webdriver.remote.webelement.WebElement(セッション= "ba8c85ad6e398939063d5b43ee513668"、要素=」 0.6436841330730552から20" )>

import time 
from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 

divID = 'ctl00_MainContent_maincontent_PFPlanQuestionnaire_ddlQuestionnaireInsurance_chosen' 
inputID = 'ctl00_MainContent_maincontent_PFPlanQuestionnaire_ddlQuestionnaireInsurance_chosen_input' 
inputValue = 'I buy it myself (or plan to buy it myself)' 

driver = webdriver.Chrome() 

driver.get("https://www.bcbsga.com/health-insurance/provider-directory/searchcriteria") 
driver.find_element_by_id("btnGuestContinue").click() 
driver.implicitly_wait(10) 

driver.find_element_by_id('ctl00_MainContent_maincontent_PFPlanQuestionnaire_ddlQuestionnaireInsurance_chosen').click() 
driver.find_element_by_id('ctl00_MainContent_maincontent_PFPlanQuestionnaire_ddlQuestionnaireInsurance_chosen_input').send_keys('I buy it myself (or plan to buy it myself)') 
driver.find_element_by_id('ctl00_MainContent_maincontent_PFPlanQuestionnaire_ddlQuestionnaireInsurance_chosen_input').send_keys(Keys.RETURN) 

driver.find_element_by_id("ctl00_MainContent_maincontent_PFPlanQuestionnaire_ddlQuestionnaireWhobought_chosen").click() 
driver.find_element_by_id("ctl00_MainContent_maincontent_PFPlanQuestionnaire_ddlQuestionnaireWhobought_chosen_input").send_keys("Marketplace/exchanges") 
driver.find_element_by_id("ctl00_MainContent_maincontent_PFPlanQuestionnaire_ddlQuestionnaireWhobought_chosen_input").send_keys(Keys.RETURN) 

driver.find_element_by_id("ctl00_MainContent_maincontent_PFPlanQuestionnaire_ddlQuestionnaireState_chosen").click() 
driver.find_element_by_id("ctl00_MainContent_maincontent_PFPlanQuestionnaire_ddlQuestionnaireState_chosen_input").send_keys("Georgia") 
driver.find_element_by_id("ctl00_MainContent_maincontent_PFPlanQuestionnaire_ddlQuestionnaireState_chosen_input").send_keys(Keys.RETURN) 

driver.find_element_by_id("ctl00_MainContent_maincontent_PFPlanQuestionnaire_ddlCareTypes_chosen").click() 
driver.find_element_by_id("ctl00_MainContent_maincontent_PFPlanQuestionnaire_ddlCareTypes_chosen_input").send_keys("Medical") 
driver.find_element_by_id("ctl00_MainContent_maincontent_PFPlanQuestionnaire_ddlCareTypes_chosen_input").send_keys(Keys.RETURN) 

driver.find_element_by_id("ctl00_MainContent_maincontent_PFPlanQuestionnaire_ddlquestionnairePlanNetworks_chosen").click() 
driver.find_element_by_id("ctl00_MainContent_maincontent_PFPlanQuestionnaire_ddlquestionnairePlanNetworks_chosen_input").send_keys("All plans/networks selection") 
driver.find_element_by_id("ctl00_MainContent_maincontent_PFPlanQuestionnaire_ddlquestionnairePlanNetworks_chosen_input").send_keys(Keys.RETURN) 

driver.find_element_by_id("btnGuestQuestionnaireContinue").click() 

#'located near' field 
driver.find_element_by_id("ctl00_MainContent_maincontent_pfSearchMain_pfLocationSearch_txtZipCityState").send_keys("30303") 

#within a distance of 
driver.find_element_by_id("ctl00_MainContent_maincontent_pfSearchMain_pfLocationSearch_ddlRadius_chosen").click() 
driver.find_element_by_id("ctl00_MainContent_maincontent_pfSearchMain_pfLocationSearch_ddlRadius_chosen_input").send_keys("10 miles") 
driver.find_element_by_id("ctl00_MainContent_maincontent_pfSearchMain_pfLocationSearch_ddlRadius_chosen_input").send_keys(Keys.RETURN) 
#speciality 
driver.find_element_by_id("ctl00_MainContent_maincontent_pfSearchMain_ddlSpeciality_chosen").click() 
driver.find_element_by_id("ctl00_MainContent_maincontent_pfSearchMain_ddlSpeciality_chosen_input").send_keys("Cardiology") 
driver.find_element_by_id("ctl00_MainContent_maincontent_pfSearchMain_ddlSpeciality_chosen_input").send_keys(Keys.RETURN) 
#click the search button 
driver.find_element_by_id("btnSearch").click() 
time.sleep(10) 

for i in range(10): 
     name = driver.find_element_by_id("ctl00_ResultsList_ctrl" + str(i) + "_lnkName") 
     address = driver.find_element_by_id("ctl00_ResultsList_ctrl" + str(i) + "_lblAddress") 
     print(name, address) 

driver.close() 

答えて

1

問題はfind_element_by_idがテキストノードのWeb要素を返しますが、べきではないということですので、明らかにnameaddressは、Web要素です。

for i in range(10): 
    name = driver.find_element_by_id("ctl00_ResultsList_ctrl" + str(i) + "_lnkName").text 
    address = driver.find_element_by_id("ctl00_ResultsList_ctrl" + str(i) + "_lblAddress").text 
    print(name, address) 
1

私は最後のループ 『の』内の.textフィールドを残し思います。それらを追加すると、要素の名前が取得されます。

for i in range(10): 
     name = driver.find_element_by_id("ctl00_ResultsList_ctrl" + str(i) + "_lnkName").text 
     address = driver.find_element_by_id("ctl00_ResultsList_ctrl" + str(i) + "_lblAddress").text 
     print(name, address) 
+0

多分あなたのスクリプトの最後の2行を確認してください... – gus27

+0

はい、私はそれを働かせて、ここで編集中に間違いました。ありがとう! – Srikanth

関連する問題