selenium 模擬Firefox

官方文檔html


安裝

pip install selenium

示例

說明原文java

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()

遠程模擬

服務端啓動python

java -jar selenium-server-standalone-2.x.x.jar

selenium.webdriver 實例方法

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

deiver = webdriver.Firefox()

# 第一步 打開連接
driver.get("http://www.google.com")
# 獲取元素的方法
element = driver.find_element_by_id("passwd-id") 
element = driver.find_element_by_name("passwd")
element = driver.find_element_by_xpath("//input[@id='passwd-id']")

# 對text字段填入字符
element.send_keys("some text")

# 對某元素模擬 "向下"功能鍵
element.send_keys('and some', Keys.ARROW_DOWN)

# 清除text內容
element.clear()


########## 對 form 的控制   ##############

# 找到某個 select元素
element = driver.find_element_by_xpath("//select[@name='name']")
all_options = element.find_elements_by_tag_name("option")
for option in all_options:
    print("Value is: %s" % option.get_attribute("value"))
    option.click()

# 對select元素的選擇動做還能夠這樣實現
from selenium.webdriver.support.ui import Select
select = Select(driver.find_element_by_name('name'))
select.select_by_index(index)
select.select_by_visible_text("text")
select.select_by_value(value)


# 提交表單的方法 
driver.find_element_by_id('submit').click()
driver.find_element_by_tag_name('form').submit()
相關文章
相關標籤/搜索