python打開selenium
from selenium import webdriver
browser = webdriver.Firefox()
baseurl='http://d.longtugame.com'
browser.get(url)
搜索網(wǎng)頁元素
#通過xpath查找
name=browser.find_element_by_xpath('/html/body/div/div[1]')
#通過class name查找
#注意返回的不是一個值,是個數(shù)組
suipian=browser.find_elements_by_class_name('the_des')
myhuoqu=(suipian[0].find_elements_by_tag_name('p'))[0].get_attribute('innerHTML').encode("utf-8")
#通過id方式定位
browser.find_element_by_id("kw").send_keys("selenium")
#通過name方式定位
browser.find_element_by_name("wd").send_keys("selenium")
#通過tag name方式定位
browser.find_element_by_tag_name("input").send_keys("selenium")
#通過class name 方式定位
browser.find_element_by_class_name("s_ipt").send_keys("selenium")
#通過CSS方式定位
#TMD css selector不是很懂,以后有空在學(xué)
#有可能也是返回數(shù)組
botton=browser.find_element_by_css_selector("#kw")
checkboxes = dr.find_elements_by_css_selector('input[type=checkbox]')
#通過鏈接文字定位
browser.find_element_by_link_text("貼 吧").click()
#通過鏈接的部分文字定位
browser.find_element_by_partial_link_text("貼").click()
獲取元素屬性
#獲得該元素的文本
browser.find_element_by_partial_link_text("貼").text
動作模擬
引入包
from selenium.webdriver.common.action_chains import ActionChains
各種操作
#鼠標(biāo)定位到子元素上
webdriver.ActionChains(driver).move_to_element(menu).perform()
#定位到要右擊的元素
qqq =driver.find_element_by_xpath("/html/body/div/div[2]/div[2]/div/div[3]")
#對定位到的元素執(zhí)行鼠標(biāo)右鍵操作
ActionChains(driver).context_click(qqq).perform()
#定位到要雙擊的元素
qqq =driver.find_element_by_xpath("xxx")
#對定位到的元素執(zhí)行鼠標(biāo)雙擊操作
ActionChains(driver).double_click(qqq).perform()
#定位元素的原位置
element = driver.find_element_by_name("source")
#定位元素要移動到的目標(biāo)位置
target = driver.find_element_by_name("target")
#執(zhí)行元素的移動操作
ActionChains(driver).drag_and_drop(element, target).perform()
#點擊元素
ActionChains(driver).click(元素)
#在指定元素上按下鼠標(biāo)不釋放
ActionChains(driver).click_and_hold(元素)
#在指定元素上釋放鼠標(biāo)
ActionChains(driver).release(on_element)
#雙擊元素
ActionChains(driver).double_click(元素)
#發(fā)送一個鍵給元素
#按下一個鍵,不松手,主要用來處里按下control,Shift,Alt鍵用
#key:The modifier key to send. Values are defined in Keys class.
ActionChains(driver).key_down(key,元素)
#Releases a modifier key.
#key:The modifier key to send. Values are defined in Keys class.
#element:The element to send keys. If None, sends a key to current focused element.
ActionChains(driver).key_up(key, 元素)
#移動鼠標(biāo)
ActionChains(driver).move_by_offset(xoffset, yoffset)
#基于某一元素移動鼠標(biāo)
#Offsets are relative to the top-left corner of the element.
ActionChains(driver).move_to_element_with_offset(to_element, xoffset, yoffset)
#發(fā)送一堆鍵到當(dāng)前元素
ActionChains(driver).send_keys(*keys_to_send)
#發(fā)送一堆鍵到指定元素
ActionChains(driver).send_keys_to_element(self, element,*keys_to_send)