【发布时间】:2013-07-06 15:09:20
【问题描述】:
如何设置 Selenium 以使用 Python?我只想用 Python 编写/导出脚本,然后运行它们。有这方面的资源吗?我尝试用谷歌搜索,但我发现的东西要么是指过时的 Selenium (RC) 版本,要么是过时的 Python 版本。
【问题讨论】:
标签: python selenium selenium-webdriver automation
如何设置 Selenium 以使用 Python?我只想用 Python 编写/导出脚本,然后运行它们。有这方面的资源吗?我尝试用谷歌搜索,但我发现的东西要么是指过时的 Selenium (RC) 版本,要么是过时的 Python 版本。
【问题讨论】:
标签: python selenium selenium-webdriver automation
你是说 Selenium WebDriver? 呵呵……
先决条件:根据您的操作系统安装 Python
使用以下命令安装
pip install -U selenium
并在你的代码中使用这个模块
from selenium import webdriver
您还可以根据需要使用以下许多内容
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
我建议您在没有 IDE 的情况下运行脚本...这是我的方法
下面的示例显示了登录页面自动化
#ScriptName : Login.py
#---------------------
from selenium import webdriver
#Following are optional required
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
baseurl = "http://www.mywebsite.com/login.php"
username = "admin"
password = "admin"
xpaths = { 'usernameTxtBox' : "//input[@name='username']",
'passwordTxtBox' : "//input[@name='password']",
'submitButton' : "//input[@name='login']"
}
mydriver = webdriver.Firefox()
mydriver.get(baseurl)
mydriver.maximize_window()
#Clear Username TextBox if already allowed "Remember Me"
mydriver.find_element_by_xpath(xpaths['usernameTxtBox']).clear()
#Write Username in Username TextBox
mydriver.find_element_by_xpath(xpaths['usernameTxtBox']).send_keys(username)
#Clear Password TextBox if already allowed "Remember Me"
mydriver.find_element_by_xpath(xpaths['passwordTxtBox']).clear()
#Write Password in password TextBox
mydriver.find_element_by_xpath(xpaths['passwordTxtBox']).send_keys(password)
#Click Login button
mydriver.find_element_by_xpath(xpaths['submitButton']).click()
还有另一种方法可以找到任何对象的 xpath -
运行脚本-
python Login.py
您也可以使用 CSS 选择器代替 xpath。在大多数情况下,CSS 选择器比 xpath 稍快一些,并且通常比 xpath 更受欢迎(如果您正在与之交互的元素上没有 ID 属性)。
如果您将光标移动到对象上,Firepath 还可以将对象的定位器捕获为 CSS 选择器。您必须更新代码以使用等效的通过 CSS 选择器方法查找 -
find_element_by_css_selector(css_selector)
【讨论】:
Error loading test case: no command found 错误。
1.) Record simple script in IDE, export to Python, 2.) Edit the script with Python code 3.) Run the script through the IDE 还有,有没有其他方法可以运行 Python 脚本?
selenium 有很多来源 - 这里是一个简单易用的好资源Selenium,这里也是一个示例 sn-p Selenium Examples
您可以找到很多使用 selenium 的好资源,设置并开始使用它并不难。
【讨论】:
你只需要导入 selenium 包,你可以在命令提示符下使用命令来完成
pip install selenium
当您必须在任何 IDE 中使用它时,只需导入此包即可,无需导入其他文档
例如:
import selenium
print(selenium.__filepath__)
这只是您在开始检查 selenium 的文件路径时可以使用的一般命令
【讨论】: