我尝试使用Selenium WebDriver和Python为网页设置一个测试。因此我启动了Docker镜像selenium/standalone firefox。
在这个测试中,通常会弹出一个JavaScript编写的提示,希望在单击OK之前收到一个条目。
但是我如何与这个提示和OK按钮交互呢?
在Selenium IDE上,记录器为此使用answer on next prompt。如何使用Python Selenium实现这一点?如果Python不支持相应的命令,我如何获取所需的信息来对可用的命令执行相同的操作?
python - Selenium Webdriver:如何在提示符下响应-LMLPHP

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()

????

最佳答案

您必须处理提示警报。试试看:

driver.switchTo().alert().sendKeys("Your project name");

关于python - Selenium Webdriver:如何在提示符下响应,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56194645/

10-16 15:19