python 爬虫 selenium 框架,入门就看这 5 道题 | Python技能树征题

本文分享了使用Python和Selenium框架进行网页自动化测试的实战题目,涵盖弹窗操作、无头浏览器、窗口管理、隐式等待和执行带参数的JavaScript。适合进阶学习者提升Selenium技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇博客主要为 https://bbs.youkuaiyun.com/skill/python 频道练习题模块补充题目,暂定每天提供 5 or 6 道测试题,后面可能会更多哦~。

本篇博客对【爬虫】→**【Selenium】**进行出题。

以下题目,默认将正确答案,放置在选项 A 位置

知识点:python 爬虫 selenium 框架

第 1 题:

题目难度:3 星
题干(问题描述):
使用 selenium 框架,实现捕获浏览器弹窗代码,正确的是?

选项 A:

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("https://www.youkuaiyun.com")

time.sleep(2)
js = "alert('提示弹窗')"
driver.execute_script(js)
alt = driver.switch_to.alert
print(alt.text)

选项 B:

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("https://www.youkuaiyun.com")

time.sleep(2)
js = "alert('提示弹窗')"
alt = driver.switch_to.alert
print(alt.text)

选项 C:

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("https://www.youkuaiyun.com")

time.sleep(2)
js = "alert('提示弹窗')"
driver.execute_script(js)
alt = driver.switch_to.frame
print(alt.text)

选项 D:

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("https://www.youkuaiyun.com")

time.sleep(2)
js = "alert('提示弹窗')"
driver.execute_script(js)
alt = driver.switch_to.window
print(alt.text)

正确答案:A

第 2 题:

题目难度:1 星
题干(问题描述):
在 Selenium 中如何打开无头谷歌浏览器

选项 A:

from selenium import webdriver

opt = webdriver.ChromeOptions()
opt.headless = True
driver = webdriver.Chrome(options=opt)

driver.get("http://www.youkuaiyun.com")

选项 B:

from selenium import webdriver

opt = webdriver.ChromeOptions()
opt.add_argument('-headless')
driver = webdriver.Chrome(options=opt)

driver.get("http://www.youkuaiyun.com")

选项 C:

from selenium import webdriver

opt = webdriver.ChromeOptions()
opt.headless = False
driver = webdriver.Chrome(options=opt)

driver.get("http://www.youkuaiyun.com")

选项 D:

from selenium import webdriver

opt = webdriver.ChromeOptions()
driver = webdriver.Chrome(options=opt)

driver.get("http://www.youkuaiyun.com")

正确答案:A

第 3 题:

题目难度:2 星
题干(问题描述):
获取 Selenium 打开的所有窗口句柄,并切换浏览器到第一个选项卡。

选项 A:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.youkuaiyun.com")


all_handles = driver.window_handles
print(all_handles)
driver.switch_to.window(all_handles[0])

选项 B:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.youkuaiyun.com")


all_handles = driver.window_handles
print(all_handles)
driver.switch_to.window(all_handles[-1])

选项 C:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.youkuaiyun.com")


all_handles = driver.window_handles
print(all_handles)
driver.switch_to.window(all_handles[1])

选项 D:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.youkuaiyun.com")


all_handles = driver.window_handles
print(all_handles)
driver.switch_to.window(all_handles[0:])

正确答案:A

第 4 题:

题目难度:2 星
题干(问题描述):
selenium 可以隐式设置网页等待时间,下述那一段代码可以实现隐式等待 10 秒。

选项 A:

from selenium import webdriver

driver = webdriver.Chrome()
driver.implicitly_wait(10)

driver.get("http://www.youkuaiyun.com")

选项 B:

import time
from selenium import webdriver

driver = webdriver.Chrome()
time.sleep(10)

driver.get("http://www.youkuaiyun.com")

选项 C:

from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("https://www.youkuaiyun.com")

locator = (By.TAG_NAME, 'title')
WebDriverWait(driver, 10).until(ec.presence_of_element_located(locator))

选项 D:

from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("https://www.youkuaiyun.com")

locator = (By.TAG_NAME, 'title')
WebDriverWait(driver, 0.5,10).until(ec.presence_of_element_located(locator))

正确答案:A

第 5 题:

题目难度:3 星
题干(问题描述):
Selenium 在执行 Javascript 代码时,可以向Javascript 代码中传递参数,下述写法正确的是。

选项 A:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

opt = Options()

driver = webdriver.Chrome()

driver.get("http://www.youkuaiyun.com")

js = "document.title = arguments[0]"
ret = driver.execute_script(js, ("我的优快云",))

选项 B:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

opt = Options()

driver = webdriver.Chrome()

driver.get("http://www.youkuaiyun.com")

js = "document.title = args[0]"
ret = driver.execute_script(js, ("我的优快云",))

选项 C:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

opt = Options()

driver = webdriver.Chrome()

driver.get("http://www.youkuaiyun.com")

js = "document.title = arguments[0]"
ret = driver.execute_script(("我的优快云",), js)

选项 D:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

opt = Options()

driver = webdriver.Chrome()

driver.get("http://www.youkuaiyun.com")

js = "document.title = arguments[0]"
ret = driver.execute_script("我的优快云", js)

正确答案:A

试题仓库地址如下:

https://codechina.youkuaiyun.com/hihell/question

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦想橡皮擦

如有帮助,来瓶可乐

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值