如何在Python中使用Selenium?
我如何设置Selenium来使用Python? 我只想用Python编写/导出脚本,然后运行它们。 有没有什么资源可以教会我如何做到这一点? 我尝试了Googlesearch,但是我发现的东西要么是指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
这是一个更新的答案
我会build议你运行没有IDE的脚本…这是我的方法
- 使用IDE来查找对象/元素的xpath
- 并使用find_element_by_xpath()。click()
下面的例子显示了login页面自动化
#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()
还有一种方法可以find任何对象的xpath –
- 在firefox中安装Firebug和Firepath插件
- 在Firefox中打开URL
- 按F12打开Firepath开发人员实例
- 在浏览器窗格下方selectFirepath并select“xpath”
- 将鼠标光标移至网页上的元素
- 在xpath文本框中,您将获得对象/元素的xpath。
- 将粘贴xpath复制到脚本。
运行脚本 – python Login.py
你也可以使用css_selector而不是xpath。 如果将光标移动到对象,Firpath也将捕获css_selector。 你将不得不使用then – find_element_by_css_selector(css_selector)
有很多selenium的来源 – 这是一个简单的使用selenium ,这是一个很好的例子selenium片的例子
你可以find很多使用selenium的好资源,build立并开始使用selenium并不难。