赞
踩
#定位输入框
input_box = browser.find_element_by_id('kw')
#输入内容
input_box.send_keys('关键字')
#定位搜索按钮
button = browser.find_element_by_id('su')
button.click()
定位输入框
input_box = browser.find_element_by_id('kw')
#清空输入框
input_box.clear()
#通常应用于提交表单
#例如:搜索框输入内容后的回车操作
submit()
from selenium import webdriver
browser = webdriver.Chrome()
browser.maximize_window()
browser.get('https://www.baidu.com')
定位输入框 input_box = browser.find_element_by_id(‘kw’)
输入关键词 input_box.send_keys(‘关键字’)
模拟回车操作 input_box.submit()
from selenium import webdriver import time driver = webdriver.Chrome() driver.maximize_window() driver.get('http://news.baidu.com/') time.sleep(1) try: #定位搜索框下面的新闻全文和新闻标题单选项 radio_button = driver.find_elements_by_css_selector(".search-radios>input") # 定位的一组元素后,返回的是一个列表,这里就循环选中对应的选项 for i in radio_button: i.click() print ('选中单选框.') except Exception as e: print ('fail',format(e))
from selenium import webdriver import time driver = webdriver.Chrome() driver.maximize_window() driver.get('https://passport.baidu.com/v2/?reg&tt=1529850358050&overseas=undefined&gid=02B2650-6D11-430E-A19D-529F69B9F1CE&tpl=xw&u=http%3A%2F%2Fnews.baidu.com%2F') time.sleep(1) try: #定位 阅读并接受《百度用户协议》及《百度隐私权保护声明》 的多选框 checkbox = driver.find_elements_by_css_selector("#TANGRAM__PSP_3__isAgree") # 定位的一组元素后,返回的是一个列表,这里就循环选中对应的选项 for i in checkbox: i.click() print ('选中多选框') except Exception as e: print ('fail',format(e))
selenium提供了Select模块,可以直接根据属性或索引定位。 【1】导入select方法: from selenium.webdriver.support.select import Select 【2】Select模块中的定位方法。 '''1、三种选择某一选项项的方法''' select_by_index() # 通过索引定位;注意:index索引是从“0”开始。 select_by_value() # 通过value值定位,value标签的属性值。 select_by_visible_text() # 通过文本值定位,即显示在下拉框的值。 '''2、三种返回options信息的方法''' options # 返回select元素所有的options all_selected_options # 返回select元素中所有已选中的选项 first_selected_options # 返回select元素中选中的第一个选项 '''3、四种取消选中项的方法''' deselect_all # 取消全部的已选择项 deselect_by_index # 取消已选中的索引项 deselect_by_value # 取消已选中的value值 deselect_by_visible_text # 取消已选中的文本值
实例
'''这个是我百度首页搜索设置里面的一个下拉框html代码''' html = ''' <select name="NR" id="nr"> <option value="10" selected="">每页显示10条</option> <option value="20">每页显示20条</option> <option value="50">每页显示50条</option> </select> ''' # coding=utf-8 from selenium import webdriver from selenium.webdriver.support.select import Select # 初始化 driver = webdriver.Chrome() ...... '''如果我们需要选择:50条,那么可以用下面的三种方法 先选中输入框元素,然后在选择对应选项''' # 根据索引选择 Select(driver.find_element_by_name("NR")).select_by_index("2") # 根据value值选择 Select(driver.find_element_by_name("NR")).select_by_value("50") # 根据文本值选择 Select(driver.find_element_by_name("NR")).select_by_visible_text("每页显示50条") driver.quit()
#切换浏览器窗口的时候将会用到的三个方法: current_window_handle:获取当前窗口的句柄。 window_handles:返回当前浏览器的所有窗口的句柄。 switch_to_window():用于切换到对应的窗口。 from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(10) driver.get("http://www.baidu.com/") # 获取当前窗口句柄 seacher_windows = driver.current_window_handle # 跳转新页面 driver.find_element_by_xpath('//*[@id="block1_server"]/div[2]/ul/li[1]/div/div[1]/a[3]').click() all_handles = driver.window_handles #回到首页 for handle in all_handles: if handle != seacher_windows: driver.switch_to.window(seacher_windows)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。