当前位置: 首页 > 知识库问答 >
问题:

如何以编程方式登录,然后用python切换到WebDriver

时修贤
2023-03-14

我知道以前有人问过“以编程方式登录”的问题,但下面是我正在尝试做的事情。

以下是我到目前为止所做的(代码来自另一个so帖子)。

def login_robot(username,password):
    import requests
    # Fill in your details here to be posted to the login form.
    payload = {'username': username, 'password': password}
    login_url = "https://www.webapp.com/login/index.php"

    # Use 'with' to ensure the session context is closed after use.
    with requests.Session() as s:
        s.post(login_url, data=payload)

        # # An authorised request.
        r = s.get('http://www.webapp.com/wall.php')
        print r.text

r.text正确地打印登录后面的页面。我应该如何将此与启动实际firefox实例的webdriver连接起来?这是两个,两个完全不同的浏览器实例吗?

共有1个答案

傅和璧
2023-03-14

可能不是最“程序化”的方法,但imo最简单的解决方案是创建一个selenium可以用来登录的基本“login_form.html”

<form id="login" action="https://www.webapp.com/login/index.php" method="post">
    <input type="text" name="username" value="wehappyfew" />
    <input type="password" name="password" value="qwerty1234" />
</form>

那就做:

driver.get( "file:///C:/location/of/login_form.html" )
driver.find_element_by_css_selector( "form#login" ).submit()
 类似资料:
  • 问题内容: 我正在尝试编写一个可以自动登录Facebook的Java程序。 到目前为止,我已经获得了下面的代码,可以将主页html页面下载到String中,但是不知道如何发送电子邮件和密码来登录Facebook?Java程序还需要处理返回的Cookie才能保持登录状态吗? } 更新: 我已经使用htmlUnit尝试了以下代码,但是出现以下异常: 有人知道为什么吗? 问题答案: 您应该看一下HTML

  • 问题内容: 我想在注册过程结束后立即登录用户,而无需通过登录表单。 这可能吗 ?我已经找到了的解决方案,但是我没有在我实际从事的项目中使用它。 这是我的security.yml,我正在使用两个防火墙。纯文本编码器仅用于测试。 问题答案: 是的,您可以通过类似于以下内容的方式执行此操作: 当您在上下文中设置令牌时,最后不会自动触发事件,而通常在使用登录表单或类似方法时触发。因此,将其包含在此处的原因

  • 我正在创建一个使用Spring security进行身份验证的Spring MVC web应用程序。 谢谢!

  • 问题内容: 相反:如何使用Spring Security手动注销用户? 在我的应用程序中,我 注册了一个新用户屏幕 ,该 屏幕 发布到一个控制器中,该控制器在db中创建一个新用户(并进行了一些明显的检查)。然后我希望这个新用户自动登录…我有点想要某种东西像这样 : 编辑 好吧,我几乎已经基于如何使用Spring Security3.1以编程方式登录用户的答案实现了 但是,部署后,jsp无法访问my

  • 问题内容: 一次只显示一个标签。用户使用鼠标/键盘选择一个。假设TabPane上有三个选项卡,并且第一个有一个按钮。当用户按下按钮时,我希望打开第二个选项卡。然后必须有一些代码才能切换到绑定到该按钮的第二个Tab。 有可能以编程方式吗?如果是这样,怎么办? 问题答案: 尝试 要么 要么 要么…

  • 问题内容: 我正在尝试通过按“感觉幸运”按钮切换到第二个视图。当我尝试模拟器并按下它时,它只会显示黑屏。我该如何解决? 问题答案: 您可以通过控制从第一个场景顶部的视图控制器图标拖动到第二个场景来在情节提要中的两个场景之间添加序列: 然后,您可以选择该segue并为其指定一个唯一的情节提要标识符,然后可以使用该标识符执行segue: 或者,您可以执行以下操作: 其中“第二个”是我在Interfac