Pregunta

<div class="group group-form group-form-requiredinformation">
    <h2 class="sr">Required Information</h2>

    <ol class="list-input">
      <li class="field required text" id="field-email">
        <label for="email">E-mail</label>
        <input class="" id="email" type="email" name="email" value="" placeholder="example: username@domain.com" required aria-required="true" aria-described-by="email-tip" />
        <span class="tip tip-input" id="email-tip">This is the e-mail address you used to register with edX</span>
      </li>
      <li class="field required password" id="field-password">
        <label for="password">Password</label>
        <input id="password" type="password" name="password" value="" required aria-required="true" />
        <span class="tip tip-input">

I am trying to write some code that will parse a webpage and check for updated content periodically, my problem is that I need to be logged in but I am unsure how to pass in my login details, the above is some of the source of the login page, how is it possible to achieve this?

I have tried something like the code below but to no avail.

browser = mechanize.Browser()
browser.open("https:xxxx")
browser.select_form(nr = 0)
browser.form['username'] = "email"
browser.form['password'] = "xxxxx"
browser.submit()
¿Fue útil?

Solución

At least, the field is called email, not username:

browser.form['email'] = "email"
browser.form['password'] = "xxxxx"
browser.submit()

Otros consejos

store the last updated date time in a variable and have a javascript timer function to invoke a function to check the last updated date time and if the content was updated more than the predefined time, make a call to backend and update the info on the page.

FYI.. there is no browser object. there is document object which has properties and methods to manipulate the page

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top