Selenium 八种元素定位方法:
id定位: find_element_by_id()
name定位: find_element_by_name()
class定位:find_element_by_class_name()
tag定位:find_element_by_tag_name()
link定位:find_element_by_link_text()
partial_link定位:find_element_by_partial_link_text()
CSS定位:find_element_by_css_selector()
xpath定位:find_element_by_xpath()
selenium定位动态id元素:
做web自动化时,常常会碰到需要定位的元素id不是固定的,无法通过id进行定位,比如姓名+时间+学号这样的动态ID元素。
方法:
1、相对路径的xpath
2、用xpath的属性(包括部分属性)来定位
3、用css,name等其他方式进行定位
selenium的三种等待方式:
强制等待:time.sleep()
直接等待N秒
隐式等待 driver.implicitly_wait(30)
时间内,网页加载完成,执行下一步,若网页加载没有全部完成,时间到了执行下一步
显示等待:
超时时间为30秒,每0.2秒检查1次,直到class="tt"的元素出现
text = WebDriverWait(driver,30,0.5).until(lambda x:x.find_element_by_css_selector("伟哥")).text