selenium size ['width']为元素返回零

时间:2019-08-14 20:41:44

标签: python selenium selenium-chromedriver

我正在将硒与python结合使用,并使用Chrome网络驱动程序读取磁盘上的静态html文件。当某些元素被调用.size['width']时,它们的表现很好,返回宽度没有问题。但是,当我为这样的元素e.size['width']调用e时,多个css width属性为“ auto”的元素返回零。为什么?以及如何获得元素的实际宽度?它们绝对不是零(从Chrome开发者工具的弹出工具提示中可以看到),并且e.value_of_css_property("width")返回“自动”,这没有任何意义。

2 个答案:

答案 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 请发布您的代码,以便我们更好地帮助您