Python Selenium can';在网页折叠/展开部分找不到元素(Javascript)

Python Selenium can';在网页折叠/展开部分找不到元素(Javascript),javascript,python,html,selenium,Javascript,Python,Html,Selenium,我不熟悉Python中的selenium。我试图从超市的网站上获取超市(商店/加油站/药店/咖啡馆)每个部分的开放时间。仅当选择(展开)每个部分时,信息才会显示 我在Chrome开发者工具中看到了详细信息,但我无法使用Beautifulsoup或urllib解析它们。我不确定这是否是因为它是由Javascript动态生成的 我做了一些研究,并尝试用不同的方法使用selenium,例如通过xpath查找元素和通过链接查找元素,但是,它们都不能帮助我找到那些折叠部分或实际的开放时间信息 有人能给我一

我不熟悉Python中的selenium。我试图从超市的网站上获取超市(商店/加油站/药店/咖啡馆)每个部分的开放时间。仅当选择(展开)每个部分时,信息才会显示

我在Chrome开发者工具中看到了详细信息,但我无法使用Beautifulsoup或urllib解析它们。我不确定这是否是因为它是由Javascript动态生成的

我做了一些研究,并尝试用不同的方法使用selenium,例如通过xpath查找元素和通过链接查找元素,但是,它们都不能帮助我找到那些折叠部分或实际的开放时间信息


有人能给我一些关于如何解决这个问题的指导吗?多谢各位

使用Selenium时,您应该等待页面加载,然后找到面板并单击它并抓取时间。 在JS上,此代码适用于我(假设浏览器是selenium web驱动程序,并且加载了请求的页面)


我不知道问题是什么。请澄清一下,我认为问题在于为什么Selenium没有找到折叠部分的元素,我给出了使用JavaScript在Selenium上测试的代码。我认为问题在于并没有等待Selenium加载页面或者页面崩溃section@EkaterinaPozdnyakova我遵循了你的JS代码,并用Python实现了它。非常感谢你的帮助!!
await browser.wait(until.elementLocated(By.css('.according-markers.ng-scope')));
var panels = await browser.findElements(By.css('.according-markers.ng-scope'));
for(let panel of panels){
    await panel.findElement(By.css('a')).click();
    let hoursEl = await panel.findElements(By.css('span.ng-binding'));
    let hours = await Promise.all(hoursEl.map(function(el) { return el.getText()}));
    console.log(hours);
}