Jak sprawdzić w pythonie z pozycji w konsoli czy podana strona internetowa posiada dany element.

0

Witam, tutaj znowu ja,
Przychodzę z pytaniem czy da się oraz za pomocą jakich modułów można sprawdzić czy wpisana w input() strona internetowa posiada element, powiedzmy:
<input id="fakebox-input" autocomplete="off" tabindex="-1" type="url" aria-hidden="true"> (przykład z google)

Jeżeli by posiadała dany element wyświetla się True, jeżeli nie False

Jest to możliwe? Za Pomocą jakiego modułu/modułów? Jeżeli można by było prosiłbym o jakiś link lub przykładowy kod jak to by mogło działać.

Z góry dziękuję i życzę udanego dnia

2

Pewnie chodzi ci o html.parser . https://docs.python.org/3/library/html.parser.html
Zmodyfikowałem przykład ze strony tak, żeby znaleźć tag input z atrybutem id. Na stronie dokumentacji opisane są metody i parametry.

class MyHTMLParser(HTMLParser):
	def handle_starttag(self, tag, attrs):
		print("Encountered a start tag:", tag)
		if tag == 'input':
			for attribute in attrs:
				if attribute[0] == 'id':
					print('\t\tTAG {}, atrybut {}'.format(tag, attribute))

	def handle_endtag(self, tag):
		print("Encountered an end tag :", tag)

	def handle_data(self, data):
		print("Encountered some data  :", data)


parser = MyHTMLParser()
parser.feed('<html><head><title>Test</title></head>'
            '<body><h1 style="color: black">Parse me!</h1><input id="fakebox-input" autocomplete="off" tabindex="-1" type="url" aria-hidden="true"></body></html>')
0

Wygodniej jest wyjść poza bibliotekę standardową. Scrapy i BeautifulSoup wspierają selektory XPATH i CSS, w tym drugim starczy po prostu

response.css('input#fakebox-input')

Swoją stronkę możesz przetestować wywołując

scrapy shell www.twoja.strona.com

Wówczas otworzy się interpreter Pythona z zainicjalizowaną zmienną request.

1 użytkowników online, w tym zalogowanych: 0, gości: 1