**
selenium的相关简单操作
** 目录: 1、获取源码的两种简单方式 2、窗口最大化 3、frame的切换、退出问题 4、源代码美化 5、页面操作 6、点击 7、窗口句柄 8、简单实现页面下移
1、获取源码的两种简单方式:
import requests
url=''
response=requests.get(url)
response.encoding='utf-8'
print(response.text)
driver.page_source
2、窗口最大化
driver.maximize_window()
3、frame的切换、退出问题
selenium.common.exceptions.NoSuchWindowException: Message: no such window
三种方法定位iframe
1.有id,并且唯一(相对主文档),直接写id
driver.switch_to.frame("iframe的id或者name")
2.无id,无name,先定位iframe元素,可以用其他方式先定位元素,然后再跳转,如果iframe比较多,也是可以通过索引
iframe = driver.find_elements_by_*("iframe")[0]
driver.switch_to.frame(iframe)
3.可以通过 tag 先定位到,也能达到同样效果
iframe = driver.find_element_by_tag_name("iframe")
driver.switch_to_frame(iframe)
从iframe返回主文档
switch_to.default_content()
退回
switch_to.parent_frame()
4、源代码美化 当爬取的是网页源代码的时候,直接打印是挤在一起的,所以使用pprint
import pprint
pprint.pprint(page_source)
5、页面操作
页面更新:
driver.refresh()
退回原页面
driver.back()
前进页面
drievr.forward()
整个浏览器退出
driver.quit()
只关闭当前窗口
driver.close()
6、点击
driver.find_element_by_xpath('').click()
7、窗口句柄
获取浏览器中所有标签页的句柄值
handles = driver.window_handles
当前窗口句柄值
chandle = driver.current_window_handle
切换窗口
driver.switch_to.window(handles[1])
8、简单实现页面下移
1 简单实现页面的下移
for i in range(50):
js = 'window.scrollTo(0,{})'.format(i*20)
driver.execute_script(js)
time.sleep(0.5)
2 另外的
driver.find_element_by_xpath("").send_keys(Keys.DOWN)
time.sleep(1)
最后,需要注意的是,当会打开一个新的窗口的时候,driver仍旧是停留在老窗口那里的
当要操作一个文件的时候,如果你是打开的状态的话,是没有这个文件的使用权限的 所以要确保将它关闭
|