【发布时间】:2019-05-18 13:47:13
【问题描述】:
我尝试使用 Selenium WebDriver 和 Python 为网页设置测试。因此我启动了 Docker 镜像 selenium/standalone-firefox。
在这个测试中,通常会弹出一个 JavaScript 编写的提示,并希望在我可以点击 OK 之前收到一个条目。
但是我该如何与这个提示和 OK 按钮交互呢?
在 Selenium IDE 上,记录器为此使用 answer on next prompt。如何用 Python-Selenium 做到这一点?如果 Python 不支持相应的命令,我如何获取所需的信息以对可用命令执行相同操作?
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
from selenium.webdriver.support import expected_conditions as EC # available since 2.26.0
from selenium.webdriver.firefox.options import Options
# connect to docker Selenium Server
options = Options()
driver = webdriver.Remote(
command_executor='http://localhost:4444/wd/hub',
desired_capabilities=options.to_capabilities()
)
driver.get("https://www.ecalc.ch/motorcalc.php?hacker&lang=en&weight=4500&calc=auw&motornumber=1&warea=60&elevation=300&airtemp=25&motor=hacker&type=2|a60-7xs_v4_28-pole&gear=1&propeller=apc_electric&diameter=18&pitch=10.0&blades=2&batteries=topfuel_light_4500mah_-_30/45c&s=8&esc=master_spin_160_pro&cooling=good")
print(driver.title)
driver.find_element_by_id("modalConfirmOk").click()
driver.find_element_by_name("btnCalculate").click()
driver.find_element_by_id("AddCSV").click()
????
【问题讨论】:
标签: python selenium selenium-webdriver