一、frame框架里面的元素定位
1.1 iframe定位 -- 先切换到iframe框架-定位-释放iframe
定位到iframe的方法
"""Switches focus to the specified frame, by index, name, or webelement. :Args: - frame_reference: The name of the window to switch to, an integer representing the index, or a webelement that is an (i)frame to switch to. :Usage: driver.switch_to.frame(‘frame_name‘) driver.switch_to.frame(1) driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0])""" #切换到iframe
driver.switch_to.frame("login_frame_qq")#点击账号密码登录driver.find_element_by_xpath(‘//a[@id="switcher_plogin"]‘).click()time.sleep(2)#输入账号密码 #释放iframe 回到主页面driver.switch_to.default_content() 二、滚动条之后的元素定位 2.1 先把元素拖动到可见区域-定位
1、移动到元素element对象的“底端”与当前窗口的“底部”对齐:
driver.execute_script("arguments[0].scrollIntoView(false);",element)
2、移动到元素element对象的“顶端”与当前窗口的“顶部”对齐 :
driver.execute_script("arguments[0].scrollIntoView();",element)
3、移动到页面底部:
driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")
4、移动到页面顶部:
driver.execute_script("window.scrollTo(document.body.scrollHeight,
0)")
如:
#定位百度搜索框driver.find_element_by_id("kw").send_keys("python")time.sleep(3)driver.find_element_by_id("su").click()time.sleep(5) #找到这个元素ele = driver.find_element_by_xpath(‘//a[text()="_百度百科"]‘)#拖动元素到可见区域--scrollIntoView() 拖到顶部显示,有可能会百度被遮罩层遮挡,定位不到而报错;使用scrollIntoView(false)可视区域底部对齐driver.execute_script("arguments[0].scrollIntoView(false);",ele) time.sleep(3)ele.click()
原文地址:https://www.cnblogs.com/simran/p/9235853.html
时间: 2024-11-05 15:58:26