擅长:python、mysql、java
<p>我想我找到了这个问题的可能答案</p>
<p>在Selenium中使用无头浏览器时,它的运行速度比使用无头浏览器时快。在这种情况下,python程序可能会在DOM完全加载之前执行</p>
<p>换句话说,尝试访问web元素的函数可能返回<code>None</code>,因为在调用函数之前没有加载元素</p>
<p>为了解决这个问题,我们可以利用Selenium中包含的<code>implicitly_wait</code>函数。比如说,</p>
<pre><code>driver = webdriver.Chrome()
driver.implicitly_wait(3) #units in seconds
</code></pre>
<p>将告诉驱动程序等待传递给<code>implicitly_wait</code>函数的指定时间(以秒为单位),以便加载DOM</p>
<p>我已经用这种方法在headless模式下测试了我的函数,现在它似乎正在工作。但如果有其他解决方案,请随时发表评论</p>