使用 selenium.webdriver 的 Python Web Auto Drive 框架。
项目描述
Python Web 自动驾驶框架。
pywad 是
使用 selenium 自动驱动 Web 浏览器的框架。需要 Selenium 和它的 python 绑定(selenium-2.35.0 或更高版本)。
如果您想使用 Google Chrome,则需要 Chrome 驱动程序。
但是我们还不能支持它。
现在,仅限 Firefox。
install
===========
需要 Selenium,
见 http://www.seleniumhq.org/
接下来执行命令。::
$ pip install pywad
使用方法
========== =
当 pywad.Part.is_target() 返回 True 时,pywad.Part 控制浏览器。
:term:`browser` 是 selenium 的 WebDriver 对象。:term:`status` 是一个字典,
但一切都好。它的任务是为其他部分对象传递数据。
例如
::
from pywad import Part
from pywad.decorator import url_match
class GoogleTop(Part):
def _is_search_button(self, text):
for word in self.search_words:
if word in text:
return True
@url_match('www\. google\.')
def is_target(self, browser, status):
return True
def run(self, browser, status):
entries = browser.find_elements_by_css_selector('input')
for entry in entries:
if entry.get_attribute('type' ) == '文本':
entry.send_keys('test\n\n')
接下来,让我们使用 Runner 对象运行它。Runner 对象是类似列表的对象。
它期望 Part 对象进入。如果执行 Runner.run(),则运行部件对象。
::
def main():
url = 'http://www.google.com'
runner = Runner()
runner.append(GoogleTop())
runner.run(url)
if __name__ == '__main__':
main()
pywad 是
使用 selenium 自动驱动 Web 浏览器的框架。需要 Selenium 和它的 python 绑定(selenium-2.35.0 或更高版本)。
如果您想使用 Google Chrome,则需要 Chrome 驱动程序。
但是我们还不能支持它。
现在,仅限 Firefox。
install
===========
需要 Selenium,
见 http://www.seleniumhq.org/
接下来执行命令。::
$ pip install pywad
使用方法
========== =
当 pywad.Part.is_target() 返回 True 时,pywad.Part 控制浏览器。
:term:`browser` 是 selenium 的 WebDriver 对象。:term:`status` 是一个字典,
但一切都好。它的任务是为其他部分对象传递数据。
例如
::
from pywad import Part
from pywad.decorator import url_match
class GoogleTop(Part):
def _is_search_button(self, text):
for word in self.search_words:
if word in text:
return True
@url_match('www\. google\.')
def is_target(self, browser, status):
return True
def run(self, browser, status):
entries = browser.find_elements_by_css_selector('input')
for entry in entries:
if entry.get_attribute('type' ) == '文本':
entry.send_keys('test\n\n')
接下来,让我们使用 Runner 对象运行它。Runner 对象是类似列表的对象。
它期望 Part 对象进入。如果执行 Runner.run(),则运行部件对象。
::
def main():
url = 'http://www.google.com'
runner = Runner()
runner.append(GoogleTop())
runner.run(url)
if __name__ == '__main__':
main()