gpt4 book ai didi

python - 如何在 Python 中使用 Selenium?

转载 作者:IT老高 更新时间:2023-10-28 20:34:17 25 4
gpt4 key购买 nike

如何设置 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 的情况下运行脚本...这是我的方法

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

  1. 在 firefox 中安装 Firebug 和 Firepath 插件
  2. 在 Firefox 中打开网址
  3. 按 F12 打开 Firepath 开发者实例
  4. 在下面的浏览器 Pane 中选择 Firepath 并选择“xpath”选择
  5. 将鼠标光标移动到网页元素上
  6. 在 xpath 文本框中,您将获得对象/元素的 xpath。
  7. 复制粘贴 xpath 到脚本。

运行脚本-

python Login.py

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

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

find_element_by_css_selector(css_selector) 

关于python - 如何在 Python 中使用 Selenium?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17540971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com