【问题标题】:Python SELENIUM issuePython SELENIUM 问题
【发布时间】:2015-11-20 14:34:28
【问题描述】:
</form></table>
<br>
 <table><tr><th>Login With Password:
    <tr><td class=w><form method=POST action="/do_login">
       User Name: <input name="name" type="text">
       &nbsp; Password: <input name="password" type="password">
       <input type="submit" value="Login">
       <input name="redirect" type="hidden" value="">
</form></table>

我还想发布登录的隐藏字段,而 selenium 只允许我使用 send_key 功能,只有启用和显示的字段。

如果不发布登录的输入隐藏值,它就不会登录,我可以在 request.post() 函数中使用带有 data 参数的 requests 模块来做到这一点,但我喜欢使用 selenium。我还需要发布“重定向”...登录是强制性的...请帮助 这是代码...

driver.find_element_by_name("name").send_keys("hhhhh")
driver.find_element_by_name("password").send_keys("hhhh")
driver.find_element_by_xpath("//input[@type='submit']").submit()

【问题讨论】:

  • 你能写下你到目前为止做了什么吗?
  • 在什么意义上??对不起,我似乎不明白你的意思......
  • 正如我所见,在您提交表单的那一刻,它会发布 &lt;form&gt; &lt;/form&gt; 之间的所有内容,所以没有任何意义。您是否尝试过编写一些 selenium 代码来检查它给您带来的错误?
  • 我刚刚编辑并包含了代码

标签: javascript python python-3.x selenium


【解决方案1】:

您可以尝试通过execute_script()在浏览器上执行脚本,将标签的属性值从"hidden"修改为"text",然后使用send_keys()

s = "something"
driver.execute_script("document.getElementsByName('redirect')[0].setAttribute('type', 'text');")
driver.find_element_by_name("redirect").send_keys(s)

或者您可以通过以下脚本将数据输入标签:

driver.execute_script("document.getElementsByName('redirect')[0].value = '" + s + "';")

【讨论】:

  • @samlexxy - 当然,如果您仍然遇到问题,请告诉我。如果答案有帮助,请用绿色勾号接受。 :)
猜你喜欢
  • 2021-05-06
  • 2017-08-25
  • 1970-01-01
  • 2021-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-04
  • 2016-06-28
相关资源
最近更新 更多