selenium语句汇总

2019-02-28  本文已影响0人  BigBigTang

1. driver.find_element_by_ 查找元素,八种方式

id, xpath, tag name, link text链接名, class name, partial link text部分的link text, name, css selector

在实际项目开发脚本阶段,很多元素是无法通过id ,css, text, name来直接定位这个网页元素,更多的还是根据XPath或者css表达式去定位

xpath

根据属性定位

By.xpath("//input[@type='job' and @name='selenium']")
By.xpath("//input[start-with(@id,'nice')
By.xpath("//input[ends-with(@id,'很漂亮')
By.xpath("//input[contains(@id,'那么美')]")

2. driver.page_source 获取网页内容

3. .clear() 清除文本内容

4. driver.refresh() 刷新页面

5. driver.back()/driver.forward() 页面后退/前进

6. driver.capabilities['version'] 查看浏览器版本

7. driver.current_url 当前url

8. driver.title 当前标题

9. .send_keys(Keys.CONTROL + 't') 通过send_keys发送CONTROL+t新建一个标签页 Keys.CONTROL + 'a' 全选文字 Keys.BACKSPACE 退格删除

10. .click() 模拟鼠标单击

11. driver.set_window_size(1280,800) 设置窗口大小

12. .text 获取元素文字

13. .is_displayed() 判断元素是否在页面上

14. .is_selected() 判断单选/多选控件是否被选中,返回的是布尔值

15. .size

example:
search_btn = driver.find_element_by_id('su')
print (search_btn.size)

output:
{'width': 100.0, 'height': 36.0}

16. 在Selenium中,有一个ActionChains模块支持,右键,鼠标悬停,拖拽,双击等动作

actionChains = ActionChains(driver)

actionChains.context_click(element).send_keys(Keys.ARROW_DOWN).send_keys(Keys.ENTER).perform()

17. 执行js

弹窗
driver.execute_script("window.alert('alert');")

拖动
country = driver.find_element_by_link_text("country")
driver.execute_script("return arguments[0].scrollIntoView();",country )

18. 窗口切换

print driver.current_window_handle # 输出当前窗口句柄
handles = driver.window_handles # 获取当前全部窗口句柄集合
driver.close() # 关闭第一个窗口
driver.switch_to.window(handle) #切换到第二个窗口

19. iframe切换

driver.switch_to_frame("formframe")
driver.switch_to_default_content() 切换回默认frame

20. 处理弹窗

alert = driver.switch_to_alert()
alert.send_key('admin' + Keys.TAB + 'passwd')
alert.accept()  # 点击弹出里面的确定按钮

alert.send_key('admin' + Keys.TAB + 'passwd' + Keys.ENTER) # 也可以通过回车确定

driver.switch_to_alert().dismiss() # 点击弹出上面的X按钮

21. 获取全部图片信息

for image in driver.find_elements_by_tag_name("img"):
    print (image.text)
    print (image.size)
    print (image.tag_name)

22. 获取页面元素的属性信息

for link in driver.find_elements_by_xpath("//*[@href]"):
print (link.get_attribute('href'))

23. 屏幕截图

driver.get_screenshot_as_file('C:\\Users\\Jiameng.Tang\\Desktop\\test.png')
driver.get_screenshot_as_base64()
driver.get_screenshot_as_png()
上一篇下一篇

猜你喜欢

热点阅读