Я использую этот JavaScript для проверки формы:
<script type="text/javascript">
function validateForm()
{
var a=document.forms["orderform"]["Name"].value;
var b=document.forms["orderform"]["Street"].value;
var c=document.forms["orderform"]["ZIP"].value;
var d=document.forms["orderform"]["City"].value;
var e=document.forms["orderform"]["PhoneNumber"].value;
if (
a==null || a=="" ||
b==null || b=="" ||
c==null || c=="" ||
d==null || d=="" ||
e==null || e==""
)
{alert("Please fill all the required fields.");
return false;
}
}
</script>
Я пытаюсь захватить текст предупреждения, используя BeatifulSoup:
import re
from bs4 import BeautifulSoup
with open("index.html") as fp:
soup = BeautifulSoup(fp, "lxml")
for script in soup.find_all(re.compile("(?<=alert\(\").+(?=\")")):
print(script)
Это ничего не возвращает.Это основано на примере, приведенном в документации BS под «Регулярным выражением», чтобы найти имена тегов, начинающиеся с «b»:
import re
for tag in soup.find_all(re.compile("^b")):
print(tag.name)
# body
# b
, но мне кажется, что я не могу найти эквивалент «print»(tag.name) ', который будет печатать текст предупреждения.Или я совершенно не на том пути?Любая помощь очень ценится.
Редактировать: Я пытался:
pattern = re.compile("(?<=alert\(\").+(?=\")"))
for script in soup.find_all ('script'):
print(script.pattern)
Это возвращает "Нет".