Auch nach dem Lesen einiger Dokumente, habe ich immer noch Probleme zu verstehen, was Stateful Browser select_form()
tut. Nimmt es eine ID oder braucht es einen Namen? Das Formular, das ich verwende, hat keine ID, sondern einen Namen. Will select_form()
eine ID oder einen Namen verwenden? Das Formular, das ich verwenden möchte, sieht so aus (keine ID).Auswählen eines Formulars nach Name, keine ID mit mechanicalsoup
<div class="fsLoginForms">
<div id="fsLoginForm" class="fsLogin" >
<form name="userlogin" action="" method="post">
<p class="fsLoginTitle">Site Login</p>
<p class="fsLoginMessage">Please provide your username and password to log in:</p>
<label for="username">username</label><input type="text" class="fsLoginUser" name="username" placeholder="Username" id="username" maxlength="50" value=""><br>
<label for="password">password</label><input type="password" class="fsLoginPass" name="password" placeholder="Password" id="password" maxlength="50" value="" ><br>
</form>
</div>
</div>
Ich habe versucht mit
stateful_browser.select_form("#userlogin")
und
stateful_browser.select_form("userlogin")
Es hält werfen diese
Traceback (most recent call last):
File "loginScrape.py", line 25, in <module>
browser.select_form('#userlogin')
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/mechanicalsoup/stateful_browser.py", line 175, in select_form
raise LinkNotFoundError()
mechanicalsoup.utils.LinkNotFoundError
UPDATE: Ich habe versucht, mich mit falschen Zugangsdaten auf dieser Website zu authentifizieren, und ich habe den gleichen Fehler bekommen. Ich bin mir nicht sicher, was das bedeutet.
Vielen Dank. Die CSS-Selektoren sind, was am Ende für mich funktionierte –
Freut mich zu hören. Bitte markieren Sie dies als akzeptierte Antwort, wenn es für Sie funktioniert. – Phil