splinter工作在交互式但不是脚本

时间:2016-04-14 05:24:36

标签: python splinter

我正在使用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(&quot;/static/images/common/icon_search_grey.png&quot;); 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命令,但无济于事。 任何人都可以建议我如何让该程序工作?

1 个答案:

答案 0 :(得分:0)

在find_by_id命令之前立即添加sleep(12)解决了当前的问题。然后程序继续并在另一条线上轰炸,这是通过在之前添加睡眠(12)来解决的。

在关于硒的帖子中,有一段等到可见代码。 Splinter中是否有等价物?