1. 程式人生 > >船長帶你看書——《selenium2 python 自動化測試實戰》(2)瀏覽器操作

船長帶你看書——《selenium2 python 自動化測試實戰》(2)瀏覽器操作

python lin div 看書 名稱 ext ice 微信公眾號 很難

瀏覽器操作

# coding: utf-8

from selenium import webdriver
from time import sleep

driver = webdriver.Firefox()
driver.get("https://www.baidu.com")

# 設置瀏覽器寬800,高400
driver.set_window_size(800, 400)

sleep(3)

# 最大化窗口
driver.maximize_window()

driver.get("https://www.cnblogs.com/")
sleep(3)

# 後退到上一個頁面
driver.back()

sleep(3)

# 前進到下一個頁面
driver.forward()

sleep(3)

# 退出瀏覽器
driver.quit()

對象定位

webdriver 提供了一系列的元素定位方法,常用的有以下幾種:

  • id

  • name

  • class name

  • tag name

  • link text

  • partial link text

  • xpath

  • css selector

分別對應 python webdriver 中的方法為:

    • find_element_by_id()

    • find_element_by_name()

    • find_element_by_class_name()

    • find_element_by_tag_name()

    • find_element_by_link_text()

    • find_element_by_partial_link_text()

    • find_element_by_xpath()

    • find_element_by_css_selector()

      我們還是以blog.hexun.com為例:
      技術分享
      這是他的登錄框。摁F12或者鼠標右鍵選擇Inspect in FirePath火狐瀏覽器會彈出查看元素界面:
      技術分享
      點一下上圖箭頭所示那裏,然後去頁面上點擊你想定位的元素,比如我們現在要定位輸入賬號框,我們就點一下那個查看元素的圖標,然後點一下輸入賬號的框,就可以看到查看元素的頁面定位到了這裏:
      技術分享
      在這裏,頁面元素屬性有id、name等,這是我們定位這個框就可以通過id(find_element_by_id)或者name(find_element_by_name),一般來說name或者class_name,tag_name這些元素名稱都不是唯一的,可能這裏叫div(tag_name)另一個地方也叫div,這裏叫name=”username”,另一個地方name也是username,這時候用name,class_name,tag_name就很難定位到你想要的元素,所以,不用猶豫了,不嫌長的話就用xPath或者css_selector吧,如果有id用id也可以,因為一般來說id肯定是唯一的。
      name如何定位xPath或者css_selector呢?那就是查看頁面元素那裏選擇
      技術分享


      FirePath那個標簽,上圖已經看到賬號欄的xPath了,只需要點擊XPath後面那個小三角,就可以切換成css(就是css_selector)的定位方式了:
      技術分享
      所以呢,以後再定位的時候基本上不用思考,直接用FirePath這個工具就可以了。

    • 微信公眾號搜索“自動化測試實戰”或掃描下方二維碼添加關註~~~

      技術分享

船長帶你看書——《selenium2 python 自動化測試實戰》(2)瀏覽器操作