web.implicitly_wait(),隐性等待设置了一个时间,在一段时间内网页是否加载完成,如果完成了,就进行下一步;在设置的时间内没有加载完成,则会报超时加载。
缺点是不智能,因为随着ajax技术的广泛应用,页面的元素往往都可以时间局部加载,也就是在整个页面没有加载完的时候,可能我们需要的元素已经加载完成了,那就么有必要再等待整个页面的加载,执行进行下一步,而隐性等待满足不了这一点;
另外一点,隐性等待的设置时全局性的,在开头设置过之后,整个的程序运行过程中都会有效,都会等待页面加载完成;不需要每次设置一遍;
from selenium.webdriver.common.by import By
from selenium.webdriver import Chrome
from selenium.webdriver.common.keys import Keys
import pandas as pd
#创建对象,打开长沙的Boss,输入关键字,点击回车
key = 'python'
web = Chrome()
web.get('https://www.zhipin.com/changsha/?sid=sem_pz_bdpc_dasou_title')
#隐性等待,在开头设置过之后,整个的程序运行过程中都会有效
web.implicitly_wait(5)
web.find_element(By.XPATH,'//[@id="wrap"]/div[3]/div/div[1]/div[1]/form/div[2]/p/input').send_keys(key,Keys.ENTER)
本文转载自: https://blog.csdn.net/weixin_46830352/article/details/121903637
版权归原作者 @林夕 所有, 如有侵权,请联系我们删除。
版权归原作者 @林夕 所有, 如有侵权,请联系我们删除。