4

这是我的分裂代码-

b = Browser()
b.visit("http://boingboing.net")
b.fill("q", "OpenXC")

此时,我想按“Enter”进行搜索。

这与 Splinter 教程页面中的示例非常相似。在这种情况下,实际上没有按钮元素存在。

我看到这个搜索框是一个 ID 为“cse-search-box”的 Google 搜索框。我不知道如何在这里触发搜索。

你能帮忙吗?

下面的 Metaphy 的(谢谢,顺便说一句)代码为我生成了一个回溯-

回溯(最近一次调用):文件“/Users/muthu/Desktop/boing.py”,第 5 行,在 b.execute_script('document.getElementsByName("f")[0].submit()') 文件中/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/splinter/driver/webdriver/init _.py”,第 58 行,在 execute_script self.driver.execute_script(script) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver. py",第 397 行,在 execute_script {'script': script, 'args':converted_args})['value'] File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site- packages/selenium/webdriver/remote/webdriver.py”,第 165 行,在执行 self.error_handler.check_response(response) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages /selenium/webdriver/remote/errorhandler.py",第 158 行,在 check_response 中引发 exception_class(message, screen, stacktrace) WebDriverException: Message: u'waiting for evaluate.js load failed';Stacktrace:在 fxdriver.Timer.prototype.runWhenTrue/g(文件:///var/folders/5r/06jrtyyn2kd8ty05m71lm0hr0000gn/T/tmpBFCIVe/extensions/fxdriver@googlecode.com/components/driver_component.js:392) 在 fxdriver.Timer.prototype.setTimeout/<.notify (file:/// var/folders/5r/06jrtyyn2kd8ty05m71lm0hr0000gn/T/tmpBFCIVe/extensions/fxdriver@googlecode.com/components/driver_component.js:386)com/components/driver_component.js:392) 在 fxdriver.Timer.prototype.setTimeout/<.notify (file:///var/folders/5r/06jrtyyn2kd8ty05m71lm0hr0000gn/T/tmpBFCIVe/extensions/fxdriver@googlecode.com/components/ driver_component.js:386)com/components/driver_component.js:392) 在 fxdriver.Timer.prototype.setTimeout/<.notify (file:///var/folders/5r/06jrtyyn2kd8ty05m71lm0hr0000gn/T/tmpBFCIVe/extensions/fxdriver@googlecode.com/components/ driver_component.js:386)

4

1 回答 1

3

我无法访问http://boingboing.net网站,所以我以 baidu.com 为例:

from splinter.browser import Browser
b = Browser('firefox')
b.visit('http://www.baidu.com')
b.fill('wd', 'test')
b.execute_script('document.getElementsByName("f")[0].submit()')

新答案:

browser.fill('some_name', 'some_value\r')
于 2013-09-07T16:52:38.820 回答