2017-06-19 1 views
1

Ceci est mon code. J'essaie d'imprimer le nom de l'entreprise et cela fonctionne Mais a toujours une valeur nulle lors de l'impression de l'adresse de l'entreprise.Xpath Python web grattage

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

Bienvenue dans StackOverflow. S'il vous plaît prendre le temps de lire ce post sur [Comment poser une question intelligente] (https://meta.stackexchange.com/questions/18584/how-to-ask-a-smart-question) ainsi que comment fournir un [exemple minimal, complet et vérifiable] (https://stackoverflow.com/help/mcve) et réviser votre question en conséquence. Ces conseils sur [comment poser une bonne question] (https://stackoverflow.com/help/how-to-ask) peuvent également être utiles. – Jeril

Répondre

0

Essayez cette

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') 

impression (business_address.text)

La raison pour laquelle votre code ne fonctionne pas est parce qu'il n'y a pas de suite à tr, donc pour adresse, lire le fond

+0

a travaillé merci :). J'ai un autre problème: –

+0

J'essaye de passer des fenêtres tout en grattant une page Web qui a la fenêtre modale. J'ai essayé find_element_by_link, par css selector mais sélenium n'est pas capable d'identifier la fenêtre modale. Une idée à ce sujet? Merci –

+0

essayez ceci ............ driver.switchTo(). ActiveElement() ou driver.switchTo(). Frame ("ModelTitle"); – Satish