如何设置 Selenium 以使用 Python?我只想用 Python 编写/导出脚本,然后运行它们。有这方面的资源吗?我尝试用谷歌搜索,但我发现的东西要么是指过时的 Selenium (RC) 版本,要么是过时的 Python 版本。
问问题
106871 次
3 回答
75
你是说 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 的情况下运行脚本...这是我的方法
- 使用 IDE 查找对象/元素的 xpath
- 并使用 find_element_by_xpath().click()
下面的示例显示了登录页面自动化
#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 -
- 在 firefox 中安装 Firebug 和 Firepath 插件
- 在 Firefox 中打开 URL
- 按 F12 打开 Firepath 开发者实例
- 在下面的浏览器窗格中选择 Firepath 并选择通过“xpath”选择
- 将鼠标光标移动到网页上的元素
- 在 xpath 文本框中,您将获得对象/元素的 xpath。
- 将粘贴 xpath 复制到脚本。
运行脚本 -
python Login.py
您还可以使用 CSS 选择器代替 xpath。在大多数情况下,CSS 选择器比 xpath 稍快,并且通常比 xpath 更受欢迎(如果您正在与之交互的元素上没有 ID 属性)。
如果您将光标移动到对象上,Firepath 还可以将对象的定位器捕获为 CSS 选择器。您必须更新代码以使用等效的通过 CSS 选择器方法查找 -
find_element_by_css_selector(css_selector)
于 2013-07-09T06:20:22.740 回答
8
selenium 有很多来源 - 这里是简单使用Selenium的好来源,这里也是一个示例片段Selenium Examples
您可以找到很多使用 selenium 的好资源,设置并开始使用它并不难。
于 2013-07-09T06:17:34.317 回答
0
您只需要导入 selenium 包,您可以使用命令从命令提示符执行
pip install selenium
当您必须在任何 IDE 中使用它时,只需导入此包即可,无需导入其他文档
例如:
import selenium
print(selenium.__filepath__)
这只是一个通用命令,您可以在开始检查 selenium 的文件路径时使用
于 2020-08-14T13:29:49.443 回答