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()
相关文章
相关标签/搜索