问题标签 [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 投票
1 回答
89 浏览

python - 用于在一行内获取按钮的 xpath

我用 splinter 编写了一些浏览器测试,并有一个包含明确定义的行的页面,其中包含它们自己的标题、按钮等。比如:

在此处输入图像描述

在我的特殊情况下,我可以获得如下一行:

然后,有了这个兰巴:

我可以磨练正确的常规按钮或说类似的话:

但是当我调用按钮 lambda 时,它会从其他行返回按钮。

据我了解,xpath 通过这个lamba 查找说,“从elmt 开始,查找嵌套在elmt中的包含给定文本的按钮”。但是,由于我从其他行中获取未嵌套在当前行中的东西,所以我在这里缺少什么?

我的 xpath 有什么问题?

0 投票
1 回答
750 浏览

python - Selenium 远程连接使用 Python splinter 被拒绝

我正在尝试使用 splinter 进行浏览器测试。不幸的是,它似乎无法连接到该网站。手动完成后,该网站在浏览器中可以正常打开。

我忘记了什么吗?我按照 splinter 文档网站上的示例进行操作。

我的python代码:

运行脚本时的错误消息:

0 投票
4 回答
4664 浏览

python - Splinter - 如何单击实现为 div 或 span 元素的链接/按钮

我在 Python 中使用 Splinter 库。我希望根据链接文本单击链接,但这不起作用。

该链接包含在源中,例如:

使用“ browser.click_link_by_text('link text here')”会报错:

splinter.exceptions.ElementDoesNotExist:找不到带有文本链接“此处链接文本”的元素

0 投票
1 回答
1111 浏览

python - 在分裂中实现 phantomJS 时出错

我已经尝试实现以下内容,传递系统中安装的 phantomJS.exe 的路径。

不幸的是,它向我抛出了这个错误:DriverNotFoundError: No driver for <selenium.webdriver.phantomjs.webdriver.WebDriver object at 0x000000000970A8D0>

然而,正如 splinter 中所记录的,我应该能够通过使用browser = Browser('phantomJS'). 这给了我DriverNotFoundError: No driver for phantomJS'

谁能指出我哪里出错了?

0 投票
1 回答
91 浏览

python - 碎片浏览时间太长

我正在使用 splinter 浏览网站,但问题是我有数百个包含许多图像的页面,而且浏览所有这些页面需要很长时间。我不想改变技术,但我愿意做出权衡,比如让浏览器不下载所有图像(只要它们在 DOM 中就可以了)。

  • 有没有办法将浏览器或驱动程序配置为不下载图像?
  • 有没有办法让它更“并发”,比如打开许多标签?
  • 还有其他想法吗?

坦克!

0 投票
1 回答
731 浏览

python - 硒性能

我正在使用 Python 库 splinter(建立在 selenium 之上)进行 Web 测试。我发现 Web 测试过程造成的两个性能问题非常缓慢。

  1. 出于某种原因,Web 驱动程序似乎要等待大约 10 秒,然后才能进入其列表中的下一个页面视图。是否有某种隐式等待参数告诉它等待那么长时间?这可以减少吗?
  2. 当我在无头状态(在虚拟机上,使用虚拟显示器)上运行该过程时,该过程似乎也比在本地测试时慢得多。虚拟机连接到的网络比我本地的网络快得多。我在本地观察到的是,当我最小化浏览器窗口时,该过程确实由于某种原因变慢了。

谁能澄清这里可能发生的事情?

0 投票
3 回答
2093 浏览

jquery - 如何单击存在但使用 Splinter 不可见的复选框?(硒/Python)

源代码片段:

我正在尝试使用带有以下代码的 Splinter 单击此复选框:

我也试过 find_by_name。两者都产生以下异常:

尝试调试:

返回真,假

由于第二个输入块显示 type='hidden',因此 Splinter 似乎无法单击该框。但是,添加 .first.click() 并不能解决问题,而且我没有想法。我可能错过了一些非常简单的东西!

0 投票
2 回答
32481 浏览

python - 致命的 Python 错误:Py_Initialize:无法加载文件系统编解码器。ImportError:没有名为“编码”的模块

我正在尝试制作简单的 python 程序,该程序正在打开网页列表,供用户手动从网站下载报告。我以前没有任何准备 exe 文件的经验。我只是在学习 python 编码的过程。所有这些都是在 Windows 7 x64 上完成的

这是我的python代码:

我的 setup.py 文件如下所示:

我必须解决的第一个问题是 selenium 包中缺少文件(webdriver.xpi 和 webdriver_prefs.json),但是我在手动编译后成功地将它们包含到 library.rar 文件中。不幸的是,在运行我的文件后我知道我收到消息:

0 投票
0 回答
276 浏览

python - Django/Selenium:成功登录后请求包含匿名用户

我有一套固定装置:

当我运行使用它们的测试时,我得到了

浏览器 (firefox) 执行四个操作:

  • 访问登录页面(成功)
  • 填写登录表单(成功)
  • 浏览器自动重定向到索引页面(成功,用户通过身份验证)
  • 浏览器访问网站的另一个页面:失败

我的测试主体基本上如下:

Auth 上下文处理器用正确的值(登录用户)填充用户变量,但最后一次调用除外,它用匿名用户填充。

这两个答案(第一个第二个)都无法帮助我:auth_login被调用并且用户在最后一步之前真正通过了身份验证。

提前感谢您的任何建议!

0 投票
2 回答
3486 浏览

python - 抓取 Spotify Web 界面

我正在尝试使用 python 和 splinter 从 Spotify 上的许多艺术家那里获得顶级歌曲的播放次数。

如果你在下面填写用户名和密码,你应该可以运行代码。

到目前为止,一切都很好。如果你打开 Firefox,你会看到 Miley Cyrus 的艺术家页面,包括热门曲目的播放次数。

如果您打开 Firefox 开发者工具检查器并悬停,您可以在元素中看到歌曲的名称,.tl-highlight以及在元素中的播放次数.tl-listen-count。但是,我发现(至少在我的机器上)无法使用splinter. 此外,当我尝试获取整个页面的源代码时,在 Firefox 中通过将鼠标悬停在它们上面可以看到的元素不会出现在表面上的页面源代码中。

我认为我对 Web 编程了解得不够多,无法知道问题出在哪里——Firefox 清楚地看到了所有 DOM 元素,但驱动 Firefox 的分裂却没有。