python - Selenium chromedriver 根本不会检测某些网站或其元素
问题描述
编写的通过chromedriver与某个网站交互的python脚本找不到任何元素或打印页面源。整个页面位于框架集中的框架内。似乎切换到框架是人们在这种情况下给出的建议。我无法找到带有标签名称或 XPath 的框架
网站的一般 HTML
<html>
<head>
</head>
<frameset>
<frame src="ebrokerlogin.html">
<html>
rest of website !!!!!!!!!
/html>
</frame>
</frameset>
</html>
一旦页面打开,这些行就会运行
driver.switch_to.frame(driver.find_element_by_tag_name("frame"))
print(driver.page_source)
我收到的例外是
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"frame"}
(Session info: chrome=83.0.4103.116)
如何切换到网站上的框架?为什么我的方法不起作用?
ps:如果注释掉driver.switch_to,打印出来的页面源是上一个网站,不是这个。
更新:XPath 不工作的 证据
解决方案
selenium 通过点击链接获得了这个网站。它似乎继续相信它在以前的网站上
推荐阅读
- java - 带有千位分隔符 0 值的 DecimalFormatter 返回 .00
- terraform - 你如何为 IAC 设置你的仓库?
- node.js - 我必须为迁移回滚编写反向操作吗?
- php - 如何通过 php 使用 sendgrid 正确发送电子邮件
- c# - C# Windows 窗体应用程序 ListView:如何强制 ListView 不更新?
- php - 无法将值添加到关联数组 php
- azure-devops - 当我包含代码覆盖率时,无法获得 Azure DevOps Release Pipelines
- c - 在 gcc 中编译 c 时收到有关强制转换“从指针到不同大小的整数”的警告
- java - 无效标志:将 java 包升级到 1.8.0_211 后的 -jar
- python - 如何在 Subprocess.run 命令中使用 for 循环