为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Python中使用Selenium?

/ 猿问

如何在Python中使用Selenium?

POPMUISE 2019-12-25 16:01:58

如何设置Selenium与Python一起使用?我只想用Python编写/导出脚本,然后运行它们。有没有什么资源可以教我该怎么做?我尝试使用谷歌搜索,但是发现的东西要么是指Selenium(RC)的过时版本,要么是Python的过时版本。



查看完整描述

2 回答

?
MM们

您是说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的情况下运行脚本...这是我的方法


使用IDE查找对象/元素的xpath

并使用find_element_by_xpath()。click()

下面的示例显示登录页面自动化


#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-


在firefox中安装Firebug和Firepath插件

在Firefox中打开URL

按F12打开Firepath开发人员实例

在浏览器窗格下面选择Firepath,然后选择“ xpath”选择

将鼠标光标移至网页上的元素

在xpath文本框中,您将获得对象/元素的xpath。

将粘贴xpath复制到脚本。

运行脚本-


python Login.py

您也可以使用CSS选择器代替xpath。在大多数情况下,CSS选择器比xpath稍快,并且通常比xpath更受首选(如果要与之交互的元素上没有ID属性)。


如果将光标移动到对象,Firepath还可将对象的定位器捕获为CSS选择器。您必须更新代码,以使用等效的CSS选择器方法find-


find_element_by_css_selector(css_selector) 


查看完整回答
反对 2019-12-25
?
狐的传说

硒的来源很多-这是简单使用Selenium的好来源,这里也是一个示例代码段Selenium


您可以找到很多使用硒的好方法,但要进行设置并开始使用它并不难。



查看完整回答
反对 2019-12-25

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信