- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个简单的网络爬虫,可以登录 Twitter,进入以下页面,然后通过单击齿轮图标从我所有的关注者(如果他们被静音等)获取信息。问题是单击功能在我的新计算机上已停止工作。
此外,我正在使用 Firefox() 网络驱动程序。
这是我正在使用的代码(您需要为 Twitter 添加您自己的凭据才能使其正常工作):https://gist.github.com/anonymous/4c64054d01af77ae2c5c2b39a2165d80
此代码在一台机器上运行良好,但无法在另一台机器上单击 dom 元素。以下是一些可能提供洞察力的规范。
::GOOD BOX::
pip packages
- selenium 2.47.3
- pyvirtualdisplay 0.1.5
python 2.7
firefox 41.0
lib32z-dev 1:1.2.8.dfsg-1ubuntu1
python-lxml 3.3.3-1ubuntu0.1
python-dev 2.7.5-5ubuntu3
build-essential 11.6ubuntu6
-------------------------
::BAD BOX::
pip packages
- selenium 2.53.6
- pyvirtualdisplay 0.2
python 2.7
firefox-mozilla-build 47.0.1-0ubuntu1 (not sure why I need this, the other box doesn't seem to have it. But things break if I remove it)
firefox 47.0.1
python-dev 2.7.11-1
libxml2-dev 2.9.3+dfsg1-1ubuntu0.1
libxslt-dev (1.1.28-2.1)
build-essential 12.1ubuntu2
当我在“坏盒子”上运行这段代码并且没有捕捉到异常时,我得到以下信息:
selenium.common.exceptions.WebDriverException: Message: Element is not clickable at point (464, 1). Other element would receive the click: <div class="container"></div>
最佳答案
这可能是由于窗口太小导致目标元素最终隐藏在另一个元素之下。尝试设置原始尺寸:
driver.set_window_size(1920, 1200)
如果您的元素最终隐藏在顶部横幅下,您也可以尝试更改滚动行为:
DesiredCapabilities.FIREFOX["elementScrollBehavior"] = 1 #scroll bottom instead of top
driver = webdriver.Firefox()
关于python - 使用 python、selenium 和 pyvirtualdisplay 单击 web 元素时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38686182/
我使用以下代码打开 saveral Xvfb 进行测试,但遇到了一些问题: A. Xvfb 的状态(代码后面)有的进程是 Z 或 SL,有的进程是 Z+ 或 SL+,但 python 进程正常进行剂量
我正在本地计算机上运行同事笔记本(她使用了 collab)。 导入后立即出现这行代码 display = pyvirtualdisplay.Display(visible=0, size=(1400,
我有一个在 Python 3 中使用 Selenium 的网络抓取工具,我需要录制 session 视频以便进行一些调试。我首先创建Xvfb虚拟显示: from pyvirtualdisplay im
我在 python 代码中有这个导入 import time import sys from pyvirtualdisplay import Display from selenium import
我正在尝试在 Amazon EC2 上运行 selenium。我使用 pyvirtualdisplay 作为 xvfb 包装器。我在 python 中运行了以下命令。 from pyvirtualdi
我正在服务器上运行Selenium python,我需要隐藏 chrome 显示。 Python 脚本大部分时间都会运行,但有时在创建新的 chromedriver session 时会卡住。不知道为
我为一个伙伴写了一个网络爬虫,以节省他的工作时间。它是用 Python 编写的,使用 Selenium 并打开 Firefox 浏览器。 我在使用 PyVirtualDisplay 的 Linux 机
我有一个 Selenium 测试,我试图在我的 ubuntu 服务器上 headless (headless)运行。它使用 pyvirtualdisplay 和 xephyr。尽管该脚本在我的本地系统
在使用 Pyvirtualdisplay 创建 Display 对象时试图找到它的 PID。显示 Xvfb 虚拟帧缓冲区。 我们已尝试查看 .pid 属性,但它不存在。此外,.process 属性不存
尝试找到如何避免在使用 PyVirtualDisplay 时在我们的 Python 应用程序中挂起 Xvfb 进程。根本问题是调用 display.stop()(参见下面的代码示例)似乎无法正确关闭
在创建我的 WebDriver 实例之前,我使用 pyvirtualdisplay 开始显示。如果我使用 Chrome,它可以正常工作:Chrome 出现在 pyvirtualdisplay 创建的
我正在尝试在 selenium 测试中使用 pyvirtualdisplay 来创建屏幕截图。以下是我在 TestSuite python 类中的测试中执行此操作的方法: self.display =
我有一个简单的网络爬虫,可以登录 Twitter,进入以下页面,然后通过单击齿轮图标从我所有的关注者(如果他们被静音等)获取信息。问题是单击功能在我的新计算机上已停止工作。 此外,我正在使用 Fire
我正在尝试使网站自动化,其中包含 SWF。 我不能用 selenium 移动鼠标,因为它是一个 SWF,所以为了解决这个问题,我使用了 pyautogui 库。 一切正常!但是!当我使用 pyvirt
我正在尝试通过使用 selenium 和 chromedriver 与 pyvirtualdisplay 在 Ubuntu 服务器(AWS-EC2)中呈现 HTML 页面。 HTML 页面没有出现在我
我的测试正在按预期工作并运行 PyVirtualDisplay==0.2.1 ,但我对该软件包的最新版本有疑问(例如 PyVirtualDisplay==0.2.5 )。 我的代码片段: ...
我正在尝试使用 Python 的 Selenium 绑定(bind)以编程方式与网站交互,作为 Django 网站的一部分。 由于我的 Selenium 代码作为 Django 网站的一部分运行,默认
我正在使用 macOS Mojave 并尝试运行以下命令: import torch import torch.nn as nn import torch.nn.functional as F fro
我是一名优秀的程序员,十分优秀!