三、selenium操作元素

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()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容