Python教程

Selinium Python 操纵标签 操纵键盘 快速掌握

本文主要是介绍Selinium Python 操纵标签 操纵键盘 快速掌握,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
  • 自己学习总结的代码,搞了半天找了好多资料
  • 你把下面的代码运行,并分析透代码和结果,就可以快速入门掌握了
  • 我的版本:Python3、selenium3、Google版本91.0.4472.114(正式版本)(64 位)
  • 要想仔细学,可以参考中文翻译文档网站:https://selenium-python-zh.readthedocs.io/

操纵标签

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.keys import Keys
browser=webdriver.Chrome()

'''
三个概念:窗口、句柄、当前窗口句柄
'''

# 打开新窗口,并每个窗口定义一个句柄
browser.get('http://www.baidu.com')
handle1= browser.current_window_handle
print(handle1)
print('---'+browser.current_window_handle)
sleep(2)
browser.execute_script("window.open('http://www.zhihu.com')")#通过执行js打开新的窗口,也可以通过点击某个<a>来打开新窗口
handle2=browser.window_handles[-1] #新加入的窗口
print(handle2)
print('---'+browser.current_window_handle)
sleep(2)
browser.execute_script("window.open('http://www.sogou.com')")
handle3=browser.window_handles[-1]
print(handle3)
print('---'+browser.current_window_handle)
sleep(2)
print('***********************************************\n')

#切换浏览器当前窗口
browser.switch_to.window(handle2)
print('---'+browser.current_window_handle)
sleep(2)
browser.switch_to.window(browser.window_handles[3-1])
print('---'+browser.current_window_handle)
sleep(2)
print('***********************************************\n')

#遍历所有窗口
print(browser.window_handles)
for handle in browser.window_handles:
    print(handle)
    browser.switch_to.window(handle)
    print('---'+browser.current_window_handle)
    sleep(1)
print('***********************************************\n')

#关闭当前窗口(指的是browser.current_window_handle)
browser.close()
sleep(2)
browser.switch_to.window(handle1)
browser.close()
sleep(2)

browser.quit()

操纵键盘

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import time
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.maximize_window()
time.sleep(3)

# 他妈的!只能在一个标签内操作!下面两行代码都没有用。。。。。
# driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'w')
# ActionChains(driver).key_down(Keys.CONTROL).send_keys("t").key_up(Keys.CONTROL).perform();

#使用driver来控制键盘:依靠元素,功能不强大
driver.find_element_by_id("kw").send_keys('No Bug ')
time.sleep(3)
driver.find_element_by_id("kw").send_keys(Keys.CONTROL+'a')
driver.find_element_by_id("kw").send_keys(Keys.CONTROL+'c')
time.sleep(3)
#使用ActionChains控制键盘:不依靠元素,一次只能按一个键,但组合起来功能强大
ActionChains(driver).send_keys(Keys.RIGHT).key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL).perform()
time.sleep(3)   #注意:上一行如果不松开contrl键,则会一直不松,则下一行代码会执行不了
ActionChains(driver).key_down(Keys.SHIFT).send_keys('cbl').key_up(Keys.SHIFT).send_keys(Keys.ENTER).perform()
time.sleep(3)

driver.quit()
这篇关于Selinium Python 操纵标签 操纵键盘 快速掌握的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!