如何设置Selenium与Python一起使用?我只想用Python编写/导出脚本,然后运行它们。是否有任何资源?我尝试使用谷歌搜索,但是发现的东西要么是指Selenium(RC)的过时版本,要么是Python的过时版本。
您是说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-
find_element_by_css_selector(css_selector)