2017-06-19 139 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