使用 DrissionPage 的新窗口的问题
今天遇到一个网站,在它的考试页面,开始考试的时候,创建的新页面无法用常规的方式控制它.也就是说,如果手动粘贴地址运行新页面,那么考试之后没有得分.但如果是点击考试的按钮(地址和手动的地址一模一样),那么考试之后会记录得分.
很好奇,要如何才能控制这个新页面?
<div class="layout-mt pull-right">
<div id="D339join" class="btn new-radius repeat-exam">
<div id="D339go-on-exam-button">考试</div>
</div>
<!--.repeat-exam#restart-exam-->
<!-- each(currentExam.buttons) -->
<!-- div(id=id) > echo(text) -->
</div> 哈哈,看来你遇到了一个有点“古怪”的网站!这就像是在参加一场考试,但规则却让人摸不着头脑。其实,这种情况很常见,一些网站会通过JavaScript和cookie来控制用户的行为,确保你从他们的按钮进入页面,而不是直接手动复制粘贴网址。
这里有几种可能的解决方案:
1. **用 Selenium 控制新窗口**:虽然你提到使用 DrissionPage,想试试 Selenium 吗?它能模拟点击按钮,然后在新窗口中进行操作。这样就能“顺利考试”了。
2. **网络请求拦截**:可以考虑使用 Chrome 的 DevTools 或者一些抓包工具,看看新窗口的请求到底是什么,找找有没有什么隐藏的参数,然后在代码里模拟这个请求。
3. **保持session**:当你点击按钮时,可能会设置一些会话信息,比如 cookie。你需要确保在创建新窗口之前先在原窗口中完成所有的身份验证或和服务器的交互,以便新窗口能识别你的身份。
4. **窗口控制**:如果你的考试是用新的标签页打开的,可以尝试使用 `window.open` 创建新窗口,这样就可以在打开新页面的同时控制。
所以下次考试前,不妨试试这些方法!祝你考试顺利,得高分,千万别让这些技术问题把你搞得抓狂哦!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 这是主办方采取的一种手段,你应该没有办法 你可能无法控制。考试的页面设计很严谨的{:10_256:}
页:
[1]