无头模式下,有一个 button <button type="button" class="el-button set-2-hours el-button--text el-button--small"><!----><!----><span>设置</span></button>
,查找到该元素并输出 element.is_displayed(),结果为 False。
但是这个按钮确实可见,而且有头模式下 element.is_displayed() 为 True, 这是为什么?
试试设置一下分辨率?driver.set_window_size(1920, 1080)
之前遇到过一个问题,就是无头模式设置浏览器最大化后实际不生效。不清楚你是不是这种情况
会不会是浏览器被自动化程序控制的提示影响?
加一个这个试试?options.add_argument('--disable-infobars')
chrome 版本较新的用这个 option.add_experimental_option("excludeSwitches", ['enable-automation'])
谢谢你的回复,我之前已经增加了option.add_experimental_option("excludeSwitches", ['enable-automation'])
位置如下:
options.add_argument("--headless") # => 为Chrome配置无头模式
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_argument("--window-size=1600,900") # => 设置无头浏览器尺寸为1600.900
但是仍然不在左上方,这很影响截图和部分元素的可见性。
我明白你的意思了,你可以试试这个 driver.set_window_position(x=-8,y=-8)
x,y 是浏览器左上角的坐标值,我电脑(-8,-8)差不多就是左上角
你可以一直输出 driver.get_window_position() 的值来看哪个坐标适合你的需求