如何在Python中使用Selenium?

axr492tv  于 2023-02-04  发布在  Python
关注(0)|答案(3)|浏览(153)

我如何设置Selenium来使用Python?我只想用Python编写/导出脚本,然后运行它们。有相关的资源吗?我试着在谷歌上搜索,但我找到的东西要么是过时的Selenium(RC)版本,要么是过时的Python版本。

flmtquvp

flmtquvp1#

你是说 selenium 网络驱动程序?嗯......

先决条件:根据您的操作系统安装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的情况下运行脚本...以下是我的方法
1.使用IDE查找对象/元素的xpath
1.并使用find_element_by_xpath().单击()
下面的示例显示了登录页面自动化

#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-
1.在firefox中安装Firebug和Firepath插件
1.在Firefox中打开URL
1.按F12打开Firepath开发人员示例
1.在下面的浏览器窗格中选择Firepath,然后选择“xpath”
1.将鼠标光标移动到网页上的元素
1.在xpath文本框中你将得到一个对象/元素的xpath.
1.将xpath复制粘贴到脚本。
运行脚本-

python Login.py

你也可以使用CSS选择器来代替xpath,CSS选择器在大多数情况下比xpath稍快一些,而且通常比xpath更受欢迎(如果你要交互的元素没有ID属性)。
如果你把光标移到对象上,Firepath也可以捕获对象的定位器作为CSS选择器。你需要更新代码,使用等价的find by CSS selector方法-

find_element_by_css_selector(css_selector)
olmpazwi

olmpazwi2#

selenium 的来源很多-这里有一个很好的简单使用Selenium,这里也是一个示例片段Selenium Examples
你可以找到很多很好的 selenium 源,设置并开始使用它并不难。

o4hqfura

o4hqfura3#

您只需要导入selenium包,这可以在命令提示符下使用以下命令来完成

pip install selenium

当您必须在任何IDE中使用它时,只需导入此包,无需导入其他文档
例如:

import selenium 
print(selenium.__filepath__)

这只是开始检查selenium文件路径时可能使用的常规命令

相关问题