Selenium Python JavaScript 弹窗

0 投票
1 回答
616 浏览
提问于 2025-04-18 15:14

我正在用Python的Selenium库访问一个网站,并填写一个表单。代码中有一部分可以让你点击一个按钮,使用JavaScript打开一个弹出式的节点树。我可以用以下代码点击这个按钮:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Ie("C:\\IEDriverServer.exe")
driver.get('htto://someurl.com')
popup = driver.find_element_by_xpath('//a[@onclick and @href = "javascript:;" and img/@alt = "Node Tree"]')
popup.click()
driver.switch_to.alert

但是在这时,网站上的所有内容,包括弹出框和实际网站上的内容,都变得无法点击了。这是为什么呢?很遗憾,我不能分享JavaScript的代码,因为它是我公司的内部代码。

1 个回答

0

与其使用 switch_to.alert,不如试试 drv.switch_to_alert(),其中 drv 是你的驱动实例。

我在 Python 的源代码中没有找到任何明显的东西,看起来像是支持 switch_to 这种语法。

我本来想发个评论,但我没有足够的声望来这么做。

撰写回答