【发布时间】:2017-04-27 20:32:56
【问题描述】:
正如标题所说,当使用clear或send_keys方法后按钮变为“disabled”时,我如何使用Selenium.click()和button?
之前:
当我打开它时页面状态是url...但是在我运行我的代码以找到textbox 和replace 它的值之后,该元素得到disabled(可能通过某种JS) 在我 clear 它的内容之后,或者使用 send_keys 向它写一些东西。
之后:
代码:
txt_value = driver.find_element_by_xpath('//input[@id="txtValor4"]')
txt_value.clear() #this disables the button
txt_value.send_keys(str(123,45)) #this also disables the button
我的问题是:
如何绕过此网站保护并按下
Continuar按钮?
我曾考虑禁用 JS,但整个网站都依赖它来生成所需的文档.. 错误的选择。
所以我考虑使用按钮属性来模拟按钮的按下......只是不知道这是否可能,或者我怎么能做到这一点。
另一个选项是仅阻止 JS 禁用按钮,可能使用 inspect element 和 network tools 映射命令来自的位置...
那么有什么办法可以做到吗?
ps.:我无法提供 URL,因为它需要我的登录数据。
【问题讨论】:
-
听起来它由于表单验证而被禁用,因为它不喜欢您在文本字段中输入的值。可能是文本字段没有注册更改。您可以尝试在 send_keys 之后单击文本区域外部以使其“接受”更改
-
不幸的是,这不是问题!我在
clear()和send_keys()方法之后立即拍摄了这张照片。我可以找到元素,清除它的值并插入正确的值。clear()和send_keys()方法是我问题的根源。当我运行它们时,某些东西会触发站点的“禁用按钮”保护方法......但如果我使用b.send_keys(Keys.BACKSPACE)它就可以了!我可以在不禁用按钮的情况下清除内容...但是当我使用send_keys('123,45')(带值)时,按钮会被禁用。
标签: python python-3.x selenium web-scraping