我的问题很简单。我在Python中使用Selenium。
Selenium的默认页面加载策略正在等待,直到页面完全加载为止。我真的很喜欢,但是我想让我的硒不要等待页面一次加载。
我知道有一种方法可以使selenium驱动程序对象永远不必等待页面加载,并且具有所需的功能。
capa = DesiredCapabilities.CHROME
capa["pageLoadStrategy"] = "none"
driver = webdriver.Chrome(desired_capabilities=capa)
driver.get(URL)
但是我希望我的司机只等一次。我怎样才能做到这一点?我已经看到不可能更改所需的功能。
当然,我需要使用相同的驱动程序对象,因为必须从驱动程序控制窗口。
答案 0 :(得分:0)
我不明白“仅等待一次”的意思。但是,由于Chrome驱动程序仍然不支持pageLoadStrategy = eager
,因此您可以尝试driver.implicitly_wait。 here还有进一步的解释,所以我不再赘述。
希望有帮助。
答案 1 :(得分:0)
我明白你的意思。您想在驱动程序启动后更改其属性。您可以尝试使用此代码。
capa = DesiredCapabilities.CHROME
capa["pageLoadStrategy"] = "none"
driver = webdriver.Chrome(desired_capabilities=capa)
driver.get(URL)
driver.desired_capabilities.update({'pageLoadStrategy':'normal'})
driver.get(URL)
当我打印class属性时,它肯定会在运行时改变加载策略。尽管不能确定它是否实际上会影响浏览器的行为,但是由于浏览器的属性是在驱动程序初始化时创建的。