【问题标题】:Python selenium webdriver - textbox and button won't workPython selenium webdriver - 文本框和按钮不起作用
【发布时间】:2016-02-19 19:58:08
【问题描述】:

我一直在玩 python 的 selenium webdriver 库,我有一些编程知识,但在与网页等相关时几乎没有。

我正在尝试登录该网站https://freebitco.in/ 我单击登录按钮,填充文本框,然后单击带有 selenium 的按钮,但页面只是刷新,输入为空白,没有任何反应。

我尝试手动 (ctrl+V) 输入文本,然后单击带有 selenium 的按钮,在这种情况下它可以工作。我很想知道这个现象的答案。我还想知道网页如何区分机器人输入和用户输入,从我的角度来看(没有网页知识)我只能看到它能够与访客时间等一起工作来判断它是否是机器人,它怎么能看出这是一个在这个文本框中写的机器人? (如果是的话)。

感谢您的回答并原谅我糟糕的英语水平。 (:

这是我的代码:

driver.find_element_by_class_name('login_menu_button').click()
driver.find_element_by_id('login_form_btc_address').send_keys(address) 
driver.find_element_by_id('login_form_password').send_keys(password)
driver.find_element_by_id('login_button').click()

这是用于文本框的:

<input type="text" name="btc_address" id="login_form_btc_address">

这是给按钮的

<input type="text" name="btc_address" id="login_form_btc_address">

【问题讨论】:

  • 由于某种原因没有出现:
  • 网页可能正在检查点击或按键
  • 当我在 Firefox 驱动程序中运行您的代码时,我能够成功登录。
  • 我也是从firefox登录也没有成功,为什么会这样?

标签: javascript python selenium


【解决方案1】:

根据我在该页面上看到的内容:

<li class="login_menu_button active">
    <a href="javascript:void(0);">LOGIN</a>
</li>

所以即使您点击顶部菜单,我认为您没有打开登录表单尝试将第一次点击更改为链接元素:

driver.find_element_by_link_text('LOGIN').click()

此外,您可能需要在点击之间进行同步(即检查您所期望的是否确实发生了)

【讨论】:

  • 感谢您的回答,我想我已经找到了问题所在,但还没有解决,特别是不知道为什么会这样。如果我从 selenium 登录然后执行我的脚本,它不起作用,但如果我用 selenium 打开驱动程序,手动访问网站然后用 selenium 登录,它就可以工作。当我输入像“freebitco.in”这样的网址时它不起作用,当我像 www.freebitco.in 这样输入它时它起作用了,还没有弄清楚如何用 selenium 做到这一点。
猜你喜欢
  • 2017-08-18
  • 1970-01-01
  • 2017-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-16
  • 2018-09-30
  • 1970-01-01
相关资源
最近更新 更多