如何设置Selenium以使用Python?我只想用Python编写/导出脚本,然后运行它们。有没有资源可以教我如何做到这一点?我试过谷歌搜索,但我发现的东西要么是指过时版本的Selenium(RC),要么是过时版本的Python。
答案 0 :(得分:70)
你的意思是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)
答案 1 :(得分:7)
硒有很多来源 - 这是一个很好用的简单使用Selenium,这里也是一个示例代码段Selenium Examples
你可以找到许多使用硒的好来源,设置它并开始使用它并不难。
答案 2 :(得分:0)
您只需要导入硒包,即可使用命令从命令提示符处进行操作
pip install selenium
当您必须在任何IDE中使用它时,只需导入此软件包,就无需导入其他文档
例如:
import selenium
print(selenium.__filepath__)
这只是您开始检查硒文件路径时可以使用的通用命令
答案 3 :(得分:-1)
我有另一个解决方案。您可以使用一些有用的IDE,例如Pycharm,当您使用此IDE时,您不需要某些复杂的方法,如pip-install。因此,这些代码将以一种简单的方式得到支持:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException