javascript - Selenium Python:无法通过id获取元素,其中id = principal
问题描述
对于我的日常工作,我正在尝试创建一个 Python 脚本,它能够填写来自不同网站的不同表格。
事情是这样的,对于某些类型的网站,我无法捕捉到 Selenium 的表单元素。例如在这个网站上:https ://econnect.bpcl.in/selfservice-ext/pub/login.html我用 Chrome 检查页面时,输入“用户 ID”框的 ID 为“主体”,但 Selenium 不是能够得到它。当我显示这个页面的 html 代码时,表单看起来像是从另一个页面或其他东西中包含的。
我尝试getelementbyid、byname、bycssselector等。我还尝试使用WebDriverWait(驱动程序,5)等待页面完全加载,但它仍然不起作用。
我也尝试了 driver.execute_async_script 和 driver.execute_script
您有什么解决方案或建议吗?
PS:即使使用 javascript,我也无法通过 id 获取此元素
谢谢
解决方案
您可以尝试使用 x-path,我使用的是 chrome 扩展:https ://chrome.google.com/webstore/detail/xpath-finder/ihnknokegkbpmofmafnkoadfjkhlogph?hl=en
定位要填充的元素
然后你可以使用
driver.find_element_by_xpath("X-PATH").sendkeys("...")
如果你不想下载 chrome 扩展,你可以尝试使用 HTML 脚本,但我怀疑它会起作用,因为你说它不适合你......
推荐阅读
- css - 媒体查询在 Internet Explorer 10 中不起作用
- java - 使用 while 循环检查进行递归
- php - 如何自动回显所有列值
- angular - 如何将日期与角度管道进行比较?
- javascript - 如何从存储中的数组中获取单个元素
- javascript - D3中的json解析问题
- python - 摄氏到华氏转换器GUI程序python
- python - 如何在 2048 游戏中升档?
- python - pyspark 需要 psutil 做什么?(面对“用户警告:请安装 psutil 以获得更好的溢出支持”)?
- jquery - 使用 Exit internt Popup 在 WordPress 网站上出现 JS 错误