selenium 爬虫问题汇总

1.网速慢会导致find失败,解决这个问题要使用阻塞机制参考如下:https://cloud.tencent.com/developer/article/1503339

1.1

 time.sleep(1)

1.2 implicitly_wait(隐式等待)

  • 隐式等待实际是设置了一个最长等待时间
  • 如果在规定时间内网页加载完成,则执行下一步,否则一直等到时间结束,然后执行下一步。
  • 注意点我们都知道js一般都是放在我们的body的最后进行加载,实际这是页面上的元素都已经加载完毕,我们却还在等带全部页面加载结束。
  • 隐式等待对整个driver周期都起作用,在最开始设置一次就可以了。不要当做固定等待使用,到那都来一下隐式等待。
  • #隐式等待,失败概率高,可不用
    browser.implicitly_wait(10)
    #在10秒内,如果网页全部加载完成(包含js),则执行下一步,否则一直等到10秒结束后,在执行下一步

1.3比较复杂没有列举

2.如果网页限制导致一个链接直接跳出当前网页之前的实例都会失效

3.延续上一个,跳出网页后还是需要switch_to.window()将对象的目标移动到新的网页

原文地址:https://www.cnblogs.com/ScarecrowMark/p/13538328.html