我正在使用Python Splinter自动下载信息。
作为浏览器互动的一部分,我希望在网页上填充一个带有字符串的文本框。
如果我以交互方式运行python3.4,每次从我的程序剪切并粘贴每个Splinter命令,我可以在firefox浏览器上看到每一行作为响应执行,一切正常;但是当我执行程序时,查找文本框的命令失败并显示以下错误消息:
selenium.common.exceptions.ElementNotVisibleException: Message: Element is not currently visible and so may not be interacted with
Stacktrace:
The Splinter commands are
browser.find_by_id('addMore_institution').click()
browser.find_by_id('addMoreText_institution').fill(institution+"\n")
在Firefox中使用inspect元素作为文本框:
<input style="background-image: url("/static/images/common/icon_search_grey.png"); cursor: default;" autocomplete="off" id="addMoreText_institution" class="addMoreTextbox ui-autocomplete-input" placeholder="Find an existing institution or group" data-entitytype="institution" type="text">
我尝试过使用find_by_xpath
和其他Splinter fin_by命令,但无济于事。
任何人都可以建议我如何让该程序工作?
答案 0 :(得分:0)
在find_by_id命令之前立即添加sleep(12)解决了当前的问题。然后程序继续并在另一条线上轰炸,这是通过在之前添加睡眠(12)来解决的。
在关于硒的帖子中,有一段等到可见代码。 Splinter中是否有等价物?