爬取美团酒店---selenium webdriver 切换选项卡

在爬取美团网上的信息时,有如下需求:

    我们希望在打开一个城市的酒店搜索页面的时候,可以将这个页面中的所有的酒店的名称和酒店的其他信息依次获取到,然后将其标题对应的href 分别获取到,并且点击href 之后,再获取详情页中的电话。

我已经测试成功了,再做的时候,遇到了一个问题,就是我们打开链接的时候,链接会在原来的链接上打开,打开之后的页面是详情页,无法点击下一页按钮,这样就会报错。所以我采取了以下的办法来解决这个问题.

# 这一步是在原来的页面的基础上打开一个新的页面,需要注意Url的格式

x ="http://www.baidu.com"

js ='window.open('+'"'+x+'"'+')'

driver.execute_script(js)

# 获取到全部的句柄--> 转换句柄  ---> 关闭选项卡

handles = driver.window_handles

driver.switch_to.window(handles[-1])

time.sleep(3)

driver.close()

# 到这里我们的事件句柄在最后一页,但是呢,最后一页已经被我close掉了,所以如果希望从一开始的url中获取下一页的话,我们需要回到第一个选项卡

driver.switch_to.window(a[0])

这样问题就可以解决了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容