警告框和下拉框处理
警告框处理
在 WebDriver中处理JavaScript生成的alert、confirm和 prompt十分简单,具体做法是,首先使用switch_to.alert()方法定位,然后使用text、accept、dismiss、send_keys等进行操作。
text:返回alert、confirm、prompt中的文字信息。
accept(O):接受现有警告框。
dismiss(:解散现有警告框。
send_keys(O:在警告框中输入文本(如果可以输入的话)。
可以使用switch_to.alert()方法为百度搜索设置弹窗,如图4-5所示。

from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www .baidu.com')
#打开搜索设置
link = driver.find element b link text('设置'),click(O)driver.find_element by link text("搜索设置").click()
sleep(2)
#保存设置
driver.find element by class name ( "orefpanelao").click()
#获取警告框
alert -driver.switch_to.alert
#获取警告框提示信息
alert_text = alert.textprint (alert_text)
#接取警告框
alert.accept()
driver.quit()
这里以百度搜索设置为例,打开百度搜索设置,设置完成后单击“保存设置”按钮,
弹出保存确认警告框。通过switch to.alert方法获取当前而面上的警告框,text用于获取警告框提示信息,acceptO用于接受警告框。
4.12下拉框处理
下拉框是Web页面常见功能之一,WebDriver提供了Select类来处理下拉框。
Select类:用于定位<select>标签。
select by valueO:通过value值定位下拉选项。select_by_visible_text(:通过text值定位下拉选项。
select by index():根据下拉选项的索引进行选择。第一个选项为0,第二个选项为1。
以百度搜索设置为例,下拉框代码如下。
<select name="NR" id="nr">
<option value="10" selected="">每页显示10条</option><option value="20">每页显示20条</option>
<option value="50">每页显示50条</option></select>
以百度搜索设置为例,下拉框代码如下。
<select name-NR"id="nr">
<option value="10"selected="">每页显示10条</option><option value="20">每页显示20条</option>
<option value="50">每页显示50条</option></select>
通过WebDriver代码操作下拉框。from time import sleep
from selenium import webdriver
from selenium.webdriver.support.select import Select
driver = webdriver.Chrome()
driver.get( 'https://www .baidu.com')
#打开搜索设置
link =driver.find_element_by_link_text('设置').click()
driver.find_element_by_link_text("搜索设置").click()
sleep(2)
#搜索结果显示条数
sel = driver.find_element_by_xpath("//select [@id='nr']")
#value="20"
select (sel) .select by_value ( '20')
sleep (2)
#<option>每页显示50条</option>
Select(sel).select_by_visible_text("每页显示50条")sleep (2)
#根据下拉选项的索引进行选择
Select(sel) .select_by_index(0)sleep(2)
driver.quit()

浙公网安备 33010602011771号