本文已参与「新人创作礼」活动,一起开启掘金创作之路
介绍
今天是更新的第三篇,实在掘金发布的第三篇文章,更新selenium的后续使用,今天的更新内容主要是关于键盘的控制操作和输入操作
键盘输入
比如我现在需要在掘金的搜索框内输入内容并进行搜索
第一步我需要定位这个搜索框的元素,定位元素在第一篇文章中有说过,就是通过获取元素的xpath来定位元素
点击f12,找到对应的标签,右键标签,鼠标滑到复制那里,复制元素的xpath
找到xpath值之后就是通过代码来定位元素
driver.find_element_by_xpath('/html/body/div[1]/div/div/div[1]/div/header/div/nav/ul/ul/li[1]/ul/li[1]/form/input')
selenium输入需要用到一个类Keys,输入的方法是类中的send_keys()
和定位组合起来就是
driver.find_element_by_xpath('/html/body/div[1]/div/div/div[1]/div/header/div/nav/ul/ul/li[1]/ul/li[1]/form/input').send_keys('掘金')
切记输入的时候要导入keys类
键盘的操作
键盘的操作也一般都是用于输入框
删除操作
我现在需要删除搜索框内输入的掘金
还是需要先定位,然后调用send_keys()方法
driver.find_element_by_xpath('/html/body/div[1]/div/div/div[1]/div/header/div/nav/ul/ul/li[1]/ul/li[1]/form/input').send_keys(Keys.BACK_SPACE)
这样写删除只会删除一个‘金’字,因为他只是执行了一次的删除键,要是想一次全部删除完文本框的输入内容,需要先对文字进行全选在进行删除,以下是对输入框的内容进行全选的代码
driver.find_element_by_id("/html/body/div[1]/div/div/div[1]/div/header/div/nav/ul/ul/li[1]/ul/li[1]/form/input").send_keys(Keys.CONTROL, 'a')
结合上一步的就是
driver.find_element_by_xpath('/html/body/div[1]/div/div/div[1]/div/header/div/nav/ul/ul/li[1]/ul/li[1]/form/input').send_keys(Keys.BACK_SPACE)
driver.find_element_by_id("/html/body/div[1]/div/div/div[1]/div/header/div/nav/ul/ul/li[1]/ul/li[1]/form/input").send_keys(Keys.CONTROL, 'a')
先对文字进行全选然后再对文字进行删除
键盘复制
和全选基本一致,只是把后面的a换成了c
driver.find_element_by_id("/html/body/div[1]/div/div/div[1]/div/header/div/nav/ul/ul/li[1]/ul/li[1]/form/input").send_keys(Keys.CONTROL, 'a')
键盘剪切
直接上代码,组合键的键盘控制其实都一样,就是把后面的指令给改掉
driver.find_element_by_id("/html/body/div[1]/div/div/div[1]/div/header/div/nav/ul/ul/li[1]/ul/li[1]/form/input").send_keys(Keys.CONTROL, 'x')
其他的键盘控制
空格键
driver.find_element_by_id("/html/body/div[1]/div/div/div[1]/div/header/div/nav/ul/ul/li[1]/ul/li[1]/form/input").send_keys(Keys.Space)
tab键
driver.find_element_by_id("/html/body/div[1]/div/div/div[1]/div/header/div/nav/ul/ul/li[1]/ul/li[1]/form/input").send_keys(Keys.TAB)
回退键
driver.find_element_by_id("/html/body/div[1]/div/div/div[1]/div/header/div/nav/ul/ul/li[1]/ul/li[1]/form/input").send_keys(Keys.ESCAPE)
enter键
driver.find_element_by_id("/html/body/div[1]/div/div/div[1]/div/header/div/nav/ul/ul/li[1]/ul/li[1]/form/input").send_keys(Keys.ENTER)
下一篇明天上午或者是今天下午的时候更新