selenium
简单示例
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
chrome_options = Options()
chrome_options.add_experimental_option("detach", True) # 不自动关闭浏览器
driver = webdriver.Chrome(chrome_options=chrome_options, executable_path='Z:\chromedriver_win32\chromedriver.exe')
driver.maximize_window() # 窗口最大化
driver.get("http://xxx.xxx.com") # 打开网页
driver.refresh() # 刷新当前窗口
八种元素定位
1. id定位
find_element_by_id()
2. class定位
find_element_by_class_name()
3. name定位
find_element_by_name()
4. tag定位
find_element_by_tag_name()
5. 文本定位
find_element_by_link_text()
6. 模糊文本定位
find_element_by_partial_link_text()
7. xpath定位
利用浏览器调试功能,定位到元素所在的那一行右键-->Copy-->Copy XPath。
find_element_by_xpath()
8. css_selector定位
find_element_by_css_selector()
获取页面信息
1. 获取当前页面的title
driver.title
2. 获取当前页面的URL
driver.current_url
3. 获取浏览器的版本
driver.capabilities['version']
4. 获取元素的尺寸
#定位输入框
input_box = browser.find_element_by_id('kw')
#打印输入框尺寸
print(input_box.size)
5. 获取属性值
for link in driver.find_elements_by_xpath("//*[@href]"):
print (link.get_attribute('href'))
get_attribute('href')
:获取href属性值。
6. 获取元素的文本信息
recordcode = driver.find_element_by_id('asfasf')
print(recordcode.text)
7. 窗口最大化
driver.maximize_window()
8. 当前窗口刷新
driver.refresh()
9. 设置整个页面的超时时间
driver.get('http://ddd.xx.com')
driver.implicitly_wait(10) # 10秒
其他操作
滑动到最下面
driver.execute_script('window.scrollTo(0,document.body.scrollHeight)')