Selenium-元素操作

 1 from selenium import webdriver
 2 from selenium.webdriver.support.select import Select
 3 
 4 driver = webdriver.Chrome()
 5 
 6 # 窗体最大化:有部分元素需要在窗体最大化的时候才可以执行操作。
 7 # 元素无法正常交互的异常:一般是因为当前展示的页面内容无法查找到这个元素,所以抛出异常
 8 driver.maximize_window()
 9 # driver.get('http://pic.baidu.com/')
10 # # 访问url
11 driver.get('http://39.98.138.157/shopxo/index.php')
12 # 点击:无所谓是什么元素,只要是需要执行点击操作,都可以调用click
13 driver.find_element('xpath', '//a[text()="登录"]').click()
14 # 输入:只有input标签才可以实现sendkeys的输入,文本域textarea貌似也可以(很不常见)
15 driver.find_element('name', 'accounts').send_keys('xuzhu666')
16 # # 文件上传,也可以使用sendkeys,但是,仅限于input标签,如果是非input标签的文件上传,请使用autoIT
17 # driver.find_element('xpath', '//*[@id="sttb"]/img[1]').click()
18 # # 上传文件时输入的是文件的路径
19 # driver.find_element('xpath', '//*[@id="stfile"]').send_keys(r'D:\头像\1.jpg')
20 # 账号密码的输入都是sendkeys,因为这些文本框都是input标签。
21 driver.find_element('name', 'pwd').send_keys('123456')
22 # 点击操作
23 driver.find_element('xpath', '/html/body/div[4]/div/div[2]/div[2]/form/div[3]/button').click()
24 
25 # 下拉列表框:一般都是基于input或者div来实现的。样式是下拉列表框的样式,但本质上不是下拉列表框
26 # 正统的下拉列表框是select标签,一般顶层是select,选项是option
27 '''
28     div下拉列表框,通过两次点击来获取你想要的值
29     input下拉列表框:
30         1. 通过两次点击来获取值(最稳妥的方式)
31         2. 通过修改readonly属性,再sendkyes输入值
32     select下拉列表框:
33         1. 定位select元素
34         2. 转成Select对象
35         3. 基于下标、value、text三种方式来获取元素
36 '''
37 # el = driver.find_element('name', 'schoolid')
38 # select = Select(el)
39 # # 获取所有的option内容
40 # # li = select.options
41 # # 获取指定的值,进行传入
42 # select.select_by_value('2913')
43 # select.select_by_index(1)
44 # select.select_by_visible_text('北京八中固安分校')
45 
46 # 释放资源
47 driver.quit()

 

posted @ 2021-08-28 14:59  术科术  阅读(30)  评论(0编辑  收藏  举报