2017-06-19 142 views
1

這是我的代碼。我正在嘗試打印商業名稱並且它的工作原理 但打印商業地址時始終爲空值。Xpath Python網頁抓取

from lxml import html 
import requests 
from bs4 import BeautifulSoup 



page = requests.get('https://appext20.dos.ny.gov/lcns_public/bus_name_inq_frm?p_record_id=160001624') 
tree = html.fromstring(page.content) 
Business_Name=tree.xpath("/html/body/center[2]/table/tr[11]/td/text()") 
print(Business_Name) 
Business_address=tree.xpath("/html/body/center[2]/table/tr[16]/td/text()") 
print(Business_address) 
+1

歡迎來到StackOverflow。請花時間在[如何問一個聰明的問題](https://meta.stackexchange.com/questions/18584/how-to-ask-a-smart-question)上閱讀這篇文章,以及如何提供一個[最小,完整,可驗證的例子](https://stackoverflow.com/help/mcve)並相應地修改你的問題。 [如何提出一個好問題](https://stackoverflow.com/help/how-to-ask)上的這些提示也可能有用。 – Jeril

回答

0

試試這個

driver.get('https://appext20.dos.ny.gov/lcns_public/bus_name_inq_frm?p_record_id=160001624') 
table_element = driver.find_elements_by_css_selector('table[summary="for layout only"]>tbody') 
business_address = table_element[0].find_element_by_css_selector('tr:nth-last-child(11)>td') 

打印(business_address.text)

之所以你的代碼是不工作是因爲沒有延續TR,所以對於商家地址,讀取底部

+0

工作感謝:)。我有另一個問題: –

+0

我想切換窗口,同時刮取有模態窗口的網頁。我曾嘗試find_element_by_link,通過CSS選擇器,但硒無法識別模式窗口。任何想法呢?謝謝 –

+0

試試............ driver.switchTo()。activeElement()或driver.switchTo().frame(「ModelTitle」); – Satish