问题标签 [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.

0 投票
0 回答
380 浏览

python - 如何让 Python 登录网站,加载预先保存的数据搜索,然后逐页导出数据

我正在尝试编写一个 python 脚本,它将在网页上加载预先保存的数据搜索(这是通过库访问的 Orbis 数据集),然后将数据导出到 excel 或 CSV。这包括: 从这里开始:

  1. 链接 我需要点击“查看结果列表”选项卡(我可以这样做

  2. 结果一次显示 25 家公司,可以通过单击“导出到 excel”按钮将其导出到 excel,然后我需要一个循环来更改结果页的条目(从 1 到40,000),并一次导出每一页。(这我可以部分做到)

编辑 2: 为了缩小问题范围,我可以自动登录、设置搜索并进入导出页面。我正在使用碎片。但是,导出窗口是一个弹出窗口,splinter 无法(据我所知)导航到弹出窗口,填写导出条件并单击导出。

问题 有没有办法(使用分裂或其他方式)导航到弹出窗口以便我与之通信?这是我的代码:

任何帮助将不胜感激。谢谢。

0 投票
3 回答
3375 浏览

python - Python Splinter 点击按钮 CSS

我无法使用该find_by_css方法在我的 Splinter 脚本中选择一个按钮。文档充其量是稀疏的,而且我还没有找到很多带有示例的好文章。

...br我的浏览器实例在哪里。

我尝试了几种不同的写法。我真的不确定我应该怎么做,因为文档没有给出任何语法的硬性示例。

这是该元素的屏幕截图。

这是我正在尝试操作的元素的屏幕截图

抱歉截图有点烂。

有人对这个有经验么?

0 投票
0 回答
443 浏览

python - 使用 splinter 测试搜索机票 web-form

我在http://www.go2see.ru上的测试票搜索表单试图访问它的元素:按钮、字段。我需要填写第二个文本字段“目的地”。我使用以下代码并得到以下异常:

0 投票
2 回答
2368 浏览

python - splinter:在 iframe 中找不到元素

我正在尝试单击http://www.dresslink.com/women-woolen-winter-trench-double-button-fur-collar-coat-p-9442.html 中名为“估计运费”的链接打开一个 iframe 覆盖,通过 ajax 获取内容并填充它。

这是代码

问题是它似乎无法在 iframe 中找到元素,我试过 find_by_css、by_xpath,结果是一样的。

那里肯定有一个img标签,但它找不到它。

0 投票
0 回答
6268 浏览

python - selenium:找不到 Chrome 二进制文件?

当尝试使用适用于 Python 的 Splinter 库的 chrome 浏览器在 selenium 框架上运行简单测试时,我遇到以下情况:

铬驱动程序在哪里

我试图运行的代码:

我到处寻找,但没有关于如何在 Splinter 中指定特定路径。我尝试应用一些硒示例,但没有奏效。

0 投票
1 回答
949 浏览

python - 带有phantomjs间歇性挂起/超时的Django LiveServerTestCase

我正在使用 Django (1.5.5)、selenium (2.41.0)、splinter (0.6.0) 和 phantomjs (1.9.7) 来运行实时测试。

虽然测试大部分都有效,但时不时(通常在 CircleCI 上,在本地 VM 中较少)它们会挂起,直到 CircleCI 超时或我手动杀死跑步者(Ctrl-C 即 KeyboardInterrupt 有效)。

这是我的基本测试类的外观:

在 Ctrl-C 之后,这是我得到的堆栈跟踪:

类似的问题可能已经在Django 中讨论过 splinter 和 phantomjs 非常缓慢,因为原始海报还提到“它只是冻结,直到我没有耐心等待它完成”。那里提到的答案是尝试将 phantomjs 启动/停止放在类设置/拆卸中,我在这里做了,但这并不能解决问题。

有没有人遇到过类似的问题,如果有,您的解决方法是什么?

0 投票
1 回答
839 浏览

python - 使用 Selenium / Splinter 抓取延迟的 ajax

我正在尝试编写一个脚本来确定潜在的新住宅是否有可用的 Verizon FiOS 服务。

不幸的是,该站点对 javascript 的广泛使用阻止了一切工作。我正在使用 selenium(包装在 splinter 模块中)让 javascript 执行,但我无法通过第二页。

这是脚本的简化版本:

在这个例子中,当它要求确认地址时,它选择了第一个选项。

它会出现 ElementNotVisibleException 错误。如果我删除 is_element_present 检查,它会出错,因为它找不到元素。该元素在 selenium 控制的实时浏览器中可见且可单击,但似乎 selenium 没有看到页面 HTML 的更新版本。

作为替代方案,我认为我可以执行 POST 请求并使用请求或机械化处理响应,但是有一些我无法理解的有趣重定向。

如何让 selenium 正常运行,或者绕过 javascript/ajax 并使用 GET 和 POST 请求来实现?

0 投票
2 回答
584 浏览

python - 强制 SSLv3 或 TLSV1 分裂

我正在尝试使用 splinter访问gateway.playneverwinter.com

它失败了

Firefox 能够毫无问题地连接和浏览该站点,这很困难。经过一番诊断

我发现它看起来像是OpenSSL 中的一个固定问题,并且强制 SSLv3 或 TLSv1 允许我连接(然后我可以使用 cURL 下载目标),例如

根据 OpenSSL 票证中的评论,我预计问题出在服务器端,但由于我无权访问它,因此非常无益。那么,为了快速修复,有没有办法强制 splinter 使用 SSLv3 或 TLSv1?

0 投票
4 回答
6726 浏览

python - 我可以通过 Python 中的 splinter 模块以某种方式从页面上的下拉列表中选择特定元素吗

我可以通过 Python 中的 splinter 模块以某种方式从页面上的下拉列表中选择特定元素吗?

我有以下 HTML 代码:

假设我需要选择“pick3”选项。我该怎么做?

0 投票
2 回答
1750 浏览

python - 如何使用 Splinter 单击“返回”

当我制作 Splinter 库以将文本输入到 reddit 的主搜索栏中时,我无法弄清楚如何单击“返回”,并且由于它没有搜索按钮,我可能必须单击“返回”

我在这里看到了一个类似的问题,但它不适用于我的案例以及该人为其编写答案的案例。

它在搜索方法的第二个语句期间回溯失败。如果有人知道怎么做,你能告诉我如何在所有网站上应用这个“返回”点击业务吗?我想他们执行类似的 javascript 来处理搜索请求。