欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js弹窗编程代码大全(网页html弹窗公告代码)

程序员文章站 2023-11-17 23:20:28
javascript 弹出框处理js弹出框的方法使用:先使用switch_to.alert切换到浏览器弹出框再使用alert类的操作方法:dismiss():取消accept():确定text():获...

javascript 弹出框处理


js弹出框的方法使用:

先使用switch_to.alert切换到浏览器弹出框

再使用alert类的操作方法:

  • dismiss():取消
  • accept():确定
  • text():获取弹框中的文本信息
  • send_keys():往弹框中输入文本信息

js之:alerts弹框:

js弹窗编程代码大全(网页html弹窗公告代码)
js弹窗编程代码大全(网页html弹窗公告代码)

import time
from selenium import webdriver
from selenium.webdriver.support.wait import webdriverwait
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.common.desired_capabilities import desiredcapabilities


desired_capabilities = desiredcapabilities.chrome
desired_capabilities['pageloadstrategy'] = 'normal'
driver = webdriver.chrome()
start_time = time.time()
driver.get('https://www.selenium.dev/documentation/en/webdriver/js_alerts_prompts_and_confirmations/')
end_time = time.time() - start_time
print(end_time)
driver.find_element_by_xpath("//a[contains(text(),'see an example alert')]").click()
webdriverwait(driver, 10).until(ec.alert_is_present())
alert = driver.switch_to.alert
text_info = alert.text
print(text_info)
alert.accept()
time.sleep(10)
driver.quit()

控制台显示了js弹框中的文本信息:


f:virtualenvironmentvenvscriptspython.exe f:/git/auomationtest/auomationtestproject/webtestauomation/element_localization.py
17.46286106109619
sample alert

process finished with exit code 0

js之:confirm弹框:

js弹窗编程代码大全(网页html弹窗公告代码)
js弹窗编程代码大全(网页html弹窗公告代码)

import time
from selenium import webdriver
from selenium.webdriver.support.wait import webdriverwait
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.common.desired_capabilities import desiredcapabilities

desired_capabilities = desiredcapabilities.chrome
desired_capabilities['pageloadstrategy'] = 'normal'
driver = webdriver.chrome()
start_time = time.time()
driver.get('https://www.selenium.dev/documentation/en/webdriver/js_alerts_prompts_and_confirmations/')
end_time = time.time() - start_time
print(end_time)
driver.find_element_by_css_selector(
    "section:nth-child(2) div.padding.highlightable:nth-child(2) div:nth-child(3) p:nth-child(8) > a.highlight").click()
webdriverwait(driver, 10).until(ec.alert_is_present())
alert = driver.switch_to.alert
text_info = alert.text
print(text_info)
alert.dismiss()
time.sleep(10)
driver.quit()

控制台显示了js弹框中的文本信息:


f:virtualenvironmentvenvscriptspython.exe f:/git/auomationtest/auomationtestproject/webtestauomation/element_localization.py
31.936458826065063
are you sure?

process finished with exit code 0

js之:prompt弹框:

js弹窗编程代码大全(网页html弹窗公告代码)
js弹窗编程代码大全(网页html弹窗公告代码)

import time
from selenium import webdriver
from selenium.webdriver.support.wait import webdriverwait
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.common.desired_capabilities import desiredcapabilities

desired_capabilities = desiredcapabilities.chrome
desired_capabilities['pageloadstrategy'] = 'normal'
driver = webdriver.chrome()
start_time = time.time()
driver.get('https://www.w3school.com.cn/tiy/t.asp?f=js_prompt')
driver.find_element_by_css_selector(
    "body:nth-child(2) div:nth-child(2) ul:nth-child(1) li:nth-child(4) > a:nth-child(1)").click()
iframe = driver.find_element_by_xpath("//iframe[@id='iframeresult']")
driver.switch_to.frame(iframe)
driver.find_element_by_css_selector("body:nth-child(2) > button:nth-child(2)").click()
webdriverwait(driver, 10).until(ec.alert_is_present())
alert = driver.switch_to.alert
alert.send_keys("自动化测试")
time.sleep(2)
alert.accept()

注意:敲黑板并划重点:

alert.send_key()输入的数据,是不会把弹框中的默认参数替换掉的

所以百度了一个能看到alert弹框返回值的栗子:

首先我在send_key()中输入的是 ” 自动化测试 ” 然后点击 ” 确定 ” ,页面显示的就是我输入的返回值:

js弹窗编程代码大全(网页html弹窗公告代码)
js弹窗编程代码大全(网页html弹窗公告代码)

以上总结或许能帮助到你,或许帮助不到你,但还是希望能帮助到你,如有疑问、歧义,评论区留言会及时修正发布,谢谢!