# 模糊查询解决
//*[contains(@属性,“部分不变的属性值”)]
//*[starts-with(@属性,"开头固定不变的属性值")]
//*[ends-with(@属性,"结尾固定不变的属性值")]
# 可以采取相对定位,先定位父元素,再定位目标元素
//input/div[1]
# 先找到父元素
temp_father= driver.find_element_by_css_selector("input")
# 位置是从1开始,div[1]表示第一个
temp_son = temp_father.find_element_by_css_selector("div[1]")
# 表单名字
driver.switch_to.frame('frame_name')
# 表单ID
driver.switch_to.frame(1)
# 传入元素
driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0])
driver.switch_to.default_content()
- 4、代码css或者xpath语法错误,自己纠正即可。
- 5、页面加载过快
# 强制等待
time.sleep(3)
# 隐私等待,找不到报:没有找到此元素错误
driver.implicitly_wait(3)
# 显示等待,找不到:报超时错误
from selenium.webdriver.support.wait import WebDriverWait
WebDriverWait(driver,timeout=0.5,).until(lambda x:x.find_element_by_xpath("//input"))
driver.switch_to.window(driver.window_handles[1])
- 7、H5表单验证字段无法直接获取,比如:
这样只能通过js判断该字段是否为空,以及获取H5默认的属性值(提示文本)
可以参考链接—参考链接