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()
本文来自博客园,作者:术科术,转载请注明原文链接:https://www.cnblogs.com/shukeshu/p/15199691.html