基于selenium版本的不断更新,其方法调用方式也有所改变,仍然使用旧的方式,会产生报错,而且不一样的错误的填写和库的调用,会导致报错千奇百怪。
以下是基于4.5版本的元素定位方法:
# 定位元素 # (1)通过id 去定位元素 # input_tag=edge.find_element('id',value='sb_form_q') # (2)通过name属性去定位元素 # input_tag=edge.find_element('name',value='q') # (3)通过类样式的名称定位元素 # input_tag=edge.find_element('class name',value='sb_form_q') # (4)根据标签名称定位元素 # input_tag=edge.find_element('tag name','input') # input_tags=edge.find_elements('tag name','input') # 获取满足条件全部元素 # input_tag.send_keys('python') # print(input_tags) # (5)根据链接文本去定位元素 # a_tag=edge.find_element('link text',"地图") # a_tag.click()css # print(a_tag) # input_tag=edge.find_element('css selector','#sb_form_q') # id样式 #+id # input_tag=edge.find_element('css selector','.sb_form_q') # 类样式 #+class_name # input_tag=edge.find_element('xpath','//input[@class="sb_form_q"]') # input_tag.send_keys('hallow')
# 有一些查空的报错可能是浏览器未加载完成导致的,可在前面添加等待操作
edge=webdriver.Chrome() # edge=webdriver.Edge() edge.implicitly_wait(1) # 等待浏览器加载,过程中持续查找元素,超时返回错误,时间自设