Selenium无法点击页面全部公寓模块展开按钮的问题求助
Selenium无法点击页面全部公寓模块展开按钮的问题求助
我正在爬取一个柏林公寓售卖页面,页面里有不少打包在一起的公寓组,我需要点击每个组里标记的按钮(红色圈出的那个),把组里所有公寓都展开显示出来。
目前我的代码只能展开第一个公寓组,其他的都处理不了——有的页面可能有1个、5个甚至没有这种公寓组。我用的代码如下:
while True: try: show_more_units = driver.find_element(By.XPATH, '//*[@id="result-p-149498364"]/div[3]/button') show_more_units.click() time.sleep(0.2) print("Show more button clicked.") except: print('No button to "Show more".') break
后来我发现每个展开按钮的ID都是不一样的,于是又试了下面两种写法,但都没效果,甚至连一个公寓组都展开不了:
第一种是通过按钮文本定位:
show_more_units = driver.find_element(By.XPATH, "//button[contains(text(), 'Einheiten anzeigen')]")
第二种是通过类名定位:
show_more_units = driver.find_element(By.CLASS_NAME, 'padding-left-none link-text-secondary button')
我想在开始爬取信息之前,把所有这类公寓组都展开,请问该怎么做到呢?提前谢谢大家的帮助!
附:这个展开按钮的HTML代码如下:
<button class="padding-left-none link-text-secondary button"><span class="s24-icons-s24_chevron_right_24"></span> <!-- -->3 weitere Einheiten anzeigen</button>
备注:内容来源于stack exchange,提问作者SolidOpt
相关产品推荐
相关产品推荐

