1、此库可以操作单击、右击、拖拉、滚动、复制和黏贴等操作,基本分三大类:常规操作、鼠标操作、键盘操作。
常规操作包括:文本清除、文本输入、单击元素、提交表单、获取元素等
其中点击按钮的函数有click()和submit() ,可以互换使用,submit之用于表单提交按钮,click注重于事件的独立(也就是click牛一点)可用于所有的按钮。
brower.find_element_by_id('t').clear() #情况t标签的内容
wz = brower.find_element_by_id('t').location #获取元素在网页中的坐标
at = brower.element_by_id('x').get_attribute('id') #获取元素属性值
r = brower.element_by_id('x').is_displayed() #判断元素在网页上是否可见
r = brower.element_by_id('x').is_selected() #判断元素是否被选中,用于checkbox和radio等标签
from selenium.webdriver.support.select import Select
Select(driver.brower.element_by_id('x').select_by_index('1') #根据下拉框的索引选择
Select(driver.brower.element_by_id('x').select_by_index('hello') #根据下拉框的值的属性选择
Select(driver.brower.element_by_id('x').select_by_visible_text('hello') #根据下拉框的值选择
鼠标操作是selenium的ActionChains类实现的,操作如下:
登陆操作的代码,有待升级。
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.common.exceptions import UnexpectedAlertPresentException
import time
link = "https://passport.bilibili.com/login"
brower = webdriver.Chrome()
brower.get(link)
brower.find_element_by_id('login-username').send_keys('')
brower.find_element_by_id('login-passwd').send_keys('')
element = brower.find_element_by_xpath('//li[@class="btn-box"]/a')
ActionChains(brower).click(element).perform()
time.sleep(1)
element = brower.find_element_by_xpath('//div[@class="geetest_slider geetest_ready"]/div[2]')
ActionChains(brower).drag_and_drop_by_offset(element,84,0).perform()