我正在将硒与python结合使用,并使用Chrome网络驱动程序读取磁盘上的静态html文件。当某些元素被调用.size['width']
时,它们的表现很好,返回宽度没有问题。但是,当我为这样的元素e.size['width']
调用e
时,多个css width属性为“ auto”的元素返回零。为什么?以及如何获得元素的实际宽度?它们绝对不是零(从Chrome开发者工具的弹出工具提示中可以看到),并且e.value_of_css_property("width")
返回“自动”,这没有任何意义。
答案 0 :(得分:1)
我发现这与我指定硒的无头选项有关。
options = webdriver.ChromeOptions()
options.add_argument('headless')
driver = webdriver.Chrome(options=options)
删除options.add_argument('headless')
行,然后将大小(包括宽度)恢复原状。任何人都知道为什么会这样,对于没有非零宽度的元素,是否有办法既保持无头又从.size['width']
获得非零宽度?
答案 1 :(得分:0)
您是否使用过类似的内容:
driver.set_window_size(1366, 768)
用于定义窗口大小? 什么是 e 请发布您的代码,以便我们更好地帮助您