bounty将在5天后过期。回答此问题可获得+200声望奖励。Jessica Chambers希望吸引更多人关注此问题。
我在Python(3.11)中使用Selenium,并使用Firefox(107)驱动程序。
通过驱动程序,我导航到一个页面,在几个操作之后,触发了一个操作系统警报(提示我启动一个程序)。当这个警报弹出时,驱动程序挂起,只有在手动关闭它之后,我的脚本才能继续运行。
我已经尝试了driver.quit()
,以及使用
os.system("taskkill /F /pid " + str(process.ProcessId))
查到了司机的身份证,但没查到
我已经设法阻止弹出窗口弹出
options.set_preference("security.external_protocol_requires_permission", False)
但是代码仍然以同样的方式挂起在弹出窗口 * 应该 * 弹出的位置。
我不在乎程序是否启动,我只需要我的代码在这个关键点上不需要人为干预。
下面是我目前拥有一个最小的例子:
from selenium.webdriver import ActionChains, Keys
from selenium.webdriver.firefox.options import Options
from seleniumwire import webdriver
options = Options()
options.binary_location = r'C:\Program Files\Mozilla Firefox\firefox.exe'
options.set_preference("security.external_protocol_requires_permission", False)
driver = webdriver.Firefox(options=options)
# Go to the page
driver.get(url)
user_field = driver.find_element("id", "UserName")
user_field.send_keys(username)
pass_field = driver.find_element("id", "Password")
pass_field.send_keys(password)
pass_field.send_keys(Keys.ENTER)
#this is the point where the pop up appears
reqs = driver.requests
print("Success!")
driver.quit()
3条答案
按热度按时间ukdjmx9f1#
手动选中此复选框,然后为与您使用的链接关联的每个应用程序打开应用程序,然后它将正常工作。
ercv8c1e2#
您可以尝试一些首选项
ycl3bljg3#
您是否尝试过设置此首选项以阻止特定弹出窗口:
或者您是否尝试过关闭弹出窗口: