Searching for nodes whose attributes contain square brackets is pretty much impossible:
>>> import bs4
>>> bs4.__version__
'4.3.0'
>>> document = bs4.BeautifulSoup("<input name=\"foo[]\"/>")
>>> document.select("input")
[<input name="foo[]"/>]
>>> document.select('[name=foo\[\]]')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "bs4\element.py", line 1309, in select
'Unsupported or invalid CSS selector: "%s"' % token)
ValueError: Unsupported or invalid CSS selector: "[name=foo\[\]]"
>>> document.select('[name="foo[]"]')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "bs4\element.py", line 1309, in select
'Unsupported or invalid CSS selector: "%s"' % token)
ValueError: Unsupported or invalid CSS selector: "[name="foo[]"]"
>>> document.select('[name="foo\[\]"]')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "bs4\element.py", line 1309, in select
'Unsupported or invalid CSS selector: "%s"' % token)
>>> document.select('[name=foo\\5b \\5d ]')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "bs4\element.py", line 1309, in select
'Unsupported or invalid CSS selector: "%s"' % token)
ValueError: Unsupported or invalid CSS selector: "[name=foo\5b"
>>> document.select('[name="foo\\5b \\5d "]')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "bs4\element.py", line 1309, in select
'Unsupported or invalid CSS selector: "%s"' % token)
ValueError: Unsupported or invalid CSS selector: "[name="foo\5b"
>>> document.select('[name=foo\\00005b\\00005d]')
[]
>>> document.select('[name="foo\\00005b\\00005d"]')
[]