如何在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的脚本…这是我的方法

  1. 使用IDE来查找对象/元素的xpath
  2. 并使用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 –

  1. 在firefox中安装Firebug和Firepath插件
  2. 在Firefox中打开URL
  3. 按F12打开Firepath开发人员实例
  4. 在浏览器窗格下方selectFirepath并select“xpath”
  5. 将鼠标光标移至网页上的元素
  6. 在xpath文本框中,您将获得对象/元素的xpath。
  7. 将粘贴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并不难。