【问题标题】:What is the correct size of python virtual display and browser?python虚拟显示和浏览器的正确尺寸是多少?
【发布时间】:2023-03-03 02:41:01
【问题描述】:

我在 python 虚拟显示器上运行 selenium 浏览器(谷歌浏览器)。有时有些元素不可点击。

from pyvirtualdisplay import Display
from selenium import webdriver
import time

display = Display(visible=0, size=(1000, 900))
display.start()
browser = 
webdriver.Chrome(executable_path="/usr/local/bin/chromedriver")
browser.set_window_size(1500, 1000)
browser.get("http://www.some-site.com/page/")
time.sleep(30)
browser.find_element_by_xpath("some-x-path").click()

错误:selenium.WebDriverException:元素不可点击

【问题讨论】:

  • 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。避免一次问多个不同的问题。请参阅“如何提问”页面以获得澄清此问题的帮助。
  • python虚拟显示和浏览器的正确大小selenium有什么关系?
  • 有时您必须等待/休眠,直到浏览呈现页面或 JavaScript 生成可点击项目。或者您必须滚动以使按钮在窗口中可见。或者您必须删除隐藏按钮的弹出窗口。
  • @DebanjanB 我正在使用 selenium 网络驱动程序(谷歌浏览器)和 python 虚拟显示。
  • @furas 你见过 time.sleep(30)。

标签: python python-3.x python-2.7 selenium selenium-chromedriver


【解决方案1】:

我找到了解决这个问题的方法。

我的虚拟显示大小是“(1000, 900)”,我的浏览器窗口大小是“(1200, 1100)”。 我的浏览器窗口大小大于虚拟显示大小。我将显示大小更改为 (1500, 1200)。 现在一切正常。

  • 请提醒您将浏览器窗口大小设置为小于虚拟显示大小。

  • 另一种使用全尺寸浏览器的方式。 "driver.maximize_window()"

    从 pyvirtualdisplay 导入显示 从硒导入网络驱动程序

    显示=显示(可见=0,大小=(1500,1200)) 显示.start() 浏览器 = webdriver.Chrome(executable_path="/usr/local/bin/chromedriver") browser.set_window_size(1200, 1100) browser.get("http://www.some-site.com/page/") browser.find_element_by_xpath("some-x-path").click()

【讨论】:

    猜你喜欢
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    • 2012-11-18
    • 1970-01-01
    • 1970-01-01
    • 2018-07-02
    • 2014-01-19
    • 1970-01-01
    相关资源
    最近更新 更多