问题标签 [splinter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 从碎片中保存内联图像
我有一个页面,一旦运行一些 javascript,就会生成一个图像。我可以用它splinter
来达到我有图像的地步,但我无法保存它。
我使用的代码非常简单:
但是屏幕截图是空的...
该页面基本上是:
我可以右键单击并保存图像,但不确定如何使用splinter
.
此外,该图像是一个内联 png,当我检查它的来源时,它显示为:
data:image/png;base64,iVBORw0KGgoAAAANSUhE
ETC...
我该怎么做才能自动保存此图像?我正在尝试生成链接列表,然后遍历它们并保存每个链接的图像。
linux - Selenium/splinter 获取浏览器屏幕截图不起作用
我有一个脚本,它使用 splinter 来截取某个页面的屏幕截图。当我在我的家用计算机(ubuntu)上运行这个脚本时,它工作得非常好(截图)。当我在服务器上的终端(debiuan - sudo python)上运行它时,它也可以正常工作。但是,当我让它在服务器上运行脚本时,它似乎无法保存图片。
为什么是这样?我倾向于说python没有写权限,但我用sudo运行python脚本,我chmod 777目录,但它仍然无法保存图片。
是否有任何其他方式我必须授予 python 权限,或者这不是权限问题?
splinter 正在拍照的线是
python - 使用 Python/Requests/BeautifulSoup 进行高效网页抓取
我正在尝试从芝加哥交通管理局bustracker网站获取信息。特别是,我想快速输出前两辆公共汽车的到达 ETA。我可以很容易地用 Splinter 做到这一点;但是,我在无头 Raspberry Pi 模型 B 和 Splinter plus pyvirtualdisplay 上运行此脚本会导致大量开销。
类似的东西
不成功。所有的数据字段都是空的(好吧,有 )。例如,当页面如下所示:
当我使用 Splinter 执行类似搜索时,这个代码片段s.find(id='time1').text
给了我u'\xa0'
而不是“12 分钟”。
我不喜欢 BeautifulSoup/requests;我只想要一些不需要 Splinter/pyvirtualdisplay 开销的东西,因为该项目要求我获得一个简短的字符串列表(例如,对于上图,[['9','104th/Vincennes','1158','12 MINUTES'],['9','95th','1300','13 MINUTES']]
)然后退出。
python - 分裂:ImportError:无法导入名称浏览器
我是 Splinter 的新手,但我用过 python 几次。所以我希望使用 splinter 自动化一个网站。但是当我执行它时出现“ImportError:无法导入名称浏览器”错误。
这是我的代码。
在终端,这就是我得到的。
我怎样才能在没有任何错误的情况下运行这个程序?我已经提到了类似问题的解决方案,比如删除 splinter.pyc ,但这对我没有帮助。
python - 分裂:zope.testbrowser 的 DriverNotFoundError
我正在使用 Python Splinter 来自动化网站并从中抓取数据。当我使用在 Browser() 中保持空白的默认浏览器模式时,它会打开 firefox 并完成编写的任务,但是当我使用无头浏览器“zope.testbrowser”时,会出现以下错误。我应该在这里做什么?
javascript - Python:实际可访问的文件上传分裂?
我有一个 Web 应用程序,它允许用户上传 XML 样式的文件,然后在浏览器中对其进行修改。
我正在尝试用 splinter 测试场景。如果我有正确的输入(id="form-widgets-body"
):
...我可以找到它没有问题,以及使用attach_file
它的名字:
brwsr.attach_file('form.widgets.body', PATH_TO_FILE)
但问题attach_file
在于它实际上并没有使我可以访问该文件。也许它只是告诉输入已经填写了一些东西,这对其他类型的测试很好?(例如,在您上传文档 X 之前,您无法进入财务应用程序中的下一个屏幕)
我尝试send_keys
了,但没有按预期工作:
话虽如此,一些问题:
实际上会
send_keys
做我想要的(即,就像真实的东西一样的可访问文件上传)?如果是这样,调用它的正确方法是什么?如果没有,我还能做什么?(可能需要 js 吗?)
python - Selenium Python Headless Webdriver(PhantomJS)不工作
所以我无法让 selenium 与无头驱动程序一起工作,特别是 PhantomJS。我试图让它在 Ubuntu 网络服务器(Ubuntu 14.04.2 LTS)上工作。
从 python 解释器(Python 2.7.6)运行以下命令给出:
我也试过:
我还将它添加到 python 路径中:
我目前以 root 身份登录。phantomjs 目录的权限是:
对于 phantomjs/webdriver.py:
我已经确认 selenium 已安装并且是最新的(pip install selenium --upgrade)。它安装在:
我看过:
https://superuser.com/questions/674322/python-selenium-phantomjs-unable-to-start-phantomjs-with-ghostdriver - Windows 特定但没有运气遵循类似的建议。
在后台使用 Selenium - 答案建议使用完整路径的 PhatomJS。
https://code.google.com/p/selenium/issues/detail?id=6736 - 我卸载了 selenium 并安装了 v2.37,但没有成功。重新安装了最新版本,仍然没有运气。
加上其他一些链接,大多数似乎建议指定executable_path。
我一直在使用 chromedriver 在本地托管的服务器(在 OSX 上)上测试我的程序。我实际上为此使用了 Splinter ( https://splinter.readthedocs.org/en/latest/#headless-drivers ),并尝试了其他无头驱动程序 (django 和 zope.testbrowser),但也遇到了类似的问题。
我愿意接受任何建议,如果需要,我不介意更换驱动程序。
提前感谢您的帮助。
python - Splinter 保存无实体的 html
我splinter 0.7.3
在 Linux 平台上使用模块python 2.7.2
来使用默认的 Firefox 浏览器在网站上抓取目录列表。
这是通过单击 html 中的“下一步”链接来遍历分页 Web 列表的代码片段。
我知道链接正在工作,因为我看到的输出如下所示:
当 html 保存在每个页面上时,f.write(browser.html.encode('utf-8'))
它适用于第一页。在随后的页面上,虽然我可以看到在 Firefox 中呈现的页面,但html/regiser_...html
文件为空或缺少正文标记,如下所示:
这是从 splinter 中保存 html 的已知功能吗?有更好的方法吗?
python - 如何在框架集中找到元素?
如何使用 Python splinter 在框架集中找到元素?
我试过find_by_css
, fi nd_by_xpath
, find_by_tag,
find_by_name
,find_by_value
和find_by_id
WebDriver: find_element_by_xpath
。
我遇到了一个ElementDoesNotExist
例外,尽管我成功地找到了具有上述语法的其他元素。
python - 如何用硒点击一个不可见的元素?
我使用此代码检查 splinter 的单击按钮选项:
我得到了例外:元素当前不可见,因此可能无法交互。等待浏览器不是解决方案(因为我做了很长时间的睡眠方法但仍然不起作用)。这是https://splinter.readthedocs.org/en/latest/#sample-code中显示的示例代码,但对我不起作用