Python 3.x编辑文本区域并从字段中复制,而不打开浏览器



看了看这里

没有具体的答案我的问题

我用的是碎片,下面是我放入外壳的东西和返回的东西。

>>> from splinter.browser import Browser
>>> browser = Browser()
>>> browser.visit('http://www.timestampgenerator.com/tools/md5-generator/')
>>> browser.fill('source','hello')
>>> browser.find_by_id('submit').click()
>>> ans = browser.find_by_id('result')
>>> print(ans)
[<splinter.driver.webdriver.WebDriverElement object at 0x00000010DECEE3C8>]

复印不太好。你可以访问这个页面来了解我所反对的内容。我想问什么我如何从某个字段中删除文本,所以如果我在完成后输入hello

browser.fill('source','hello')

我可能想在不刷新页面的情况下再做一次,所以我需要删除文本。如何做到这一点?你也可以看到我试图用复制文本

>>> ans = browser.find_by_id('result')
>>> print(ans)
[<splinter.driver.webdriver.WebDriverElement object at 0x00000010DECEE3C8>]

失败了,想知道怎么做。最后,我如何在不打开firefox窗口的情况下完成此操作,也许只是作为一个后台进程。

要从'result'元素中获取文本,需要打印所选元素的值。

print(ans.value)

您可以用要填充"source"元素的条目创建一个列表,并使用for循环遍历该列表。你不需要删除上一个条目,填充会覆盖它看起来的内容。

这里有一个例子,在我的情况下,为了不获取错误的"结果",必须输入1秒的等待时间。

from splinter import Browser
with Browser() as browser:
    browser.visit('http://www.timestampgenerator.com/tools/md5-generator/')
    entries = ['hello', 'goodbye']
    for item in entries:
        browser.fill('source', item)
        browser.find_by_id('submit').click()
        browser.is_text_present('result', wait_time=1)
        ans = browser.find_by_id('result')
        print(ans.value)

对于无头网络浏览器(不打开窗口),请查看split文档。您需要获得自己选择的网络驱动程序。

相关内容

  • 没有找到相关文章

最新更新