selenium常用操作 - 操作表单元素
输入框:
# input_tag 是通过xpath获取的表单中input元素
input_tag.send_keys() # 发送内容
input_tag.clear() # 清除内容
input_tag.click() # 点击
select选择框:
select不能直接点击。因为点击后还需要选中元素,这时候selenium就提供了一个类 selenium.webdriver.support.ui.Select 。
将获取到的元素当成参数传到这个类中,创建这个类,以后就可以对这个对象进行选择了
from selenium.webdriver.support.ui import Select
select_but = Select(input_tag)
# 通过索性获取
select_but.select_by_index(1)
# 通过value值获取
select_but.select_by_value('http')
# 通过可见文本
select_but.select_by_visible_text('xx')
# 取消选中的所有选项
select_but.deselect_all()
复选框与提交按钮:
# input_tag 是通过xpath获取的表单中input元素
input_tag.click() # 点击
简单示例
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
driver_path = r'E:\vens\chromedriver\chromedriver.exe'
driver = webdriver.Chrome(executable_path=driver_path)
driver.get('http://www.baidu.com')
# inputTag = driver.find_element_by_id('kw')
inputTag = driver.find_element(By.ID, 'kw')
sleep(3)
inputTag.send_keys('python') # 发送内容
sleep(10)
driver.quit() # 关闭浏览器
切换窗口
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get(r'https://www.baidu.com/')
# 执行js语句打开新的窗口
driver.execute_script(r'window.open("http://www.douban.com/")')
print(driver.window_handles) # 全部的窗口列表
# 但是代码(可以理解鼠标)还在上一个窗口中,需要切换新窗口中
driver. driver.switch_to.window(driver.window_handles[1]) # 切换窗口
print(driver.title) # 当前窗口的title
url = driver.current_url # 当前窗口的url
print('当前URL:'+url)
sleep(10)
driver.quit()