【发布时间】:2019-03-07 15:17:49
【问题描述】:
我正在win10和firefox中用python和selenium webdriver写一个爬虫。
我在理解页面时遇到了困难:
https://irs.thsrc.com.tw/IMINT/
页面有一个弹出消息框。 弹出消息框中a链接的xpath为:
//html/body/div[2]/form[1]/div[2]/div[1]/div[1]/div[1]/div[1]/span[1]/a[1]
selenium webdriver 为 firefox 返回的 html 源文件不包含该消息框的标记。
所以我发送r = requests.get('https://irs.thsrc.com.tw/IMIT/')再次获取html源文档,然后我在html中获取标签。
在我得到带有弹出消息框标签的新html源文档后,我注意到这个消息框是style:"display:none"。
我不确定这如何影响 webdriver 的返回值。
应该禁用所有可操作的标签。
但是 webdriver 告诉我,在我用 xpath 找到它们的标记元素后,它们都会显示并启用。
当我使用webdriver在弹出的消息框中找到上面xpath的链接时,webdriver说找不到该元素。
在这种情况下,我无法使用 webdriver 单击弹出消息框中的 a 链接。
有谁知道如何让 webdriver 返回标签元素的真实状态?
例如,我希望 webdriver 告诉我所有元素都被禁用,除了 a-link 和弹出消息框中的确认按钮。
任何答案和建议将不胜感激。
【问题讨论】:
-
cookie 的确认按钮?
-
感谢您的快速cmets。但是我必须承认我在这方面是无知的。 cookie 如何影响元素的状态?我是否需要扫描 cookie 才能查看元素的真实状态。
-
我在问弹出框是什么。当我查看该页面时,我会弹出一个要求我接受 cookie 的弹出窗口。您指的是弹出窗口吗?
-
是的,就是这样。谢谢!
标签: python selenium xpath css-selectors webdriverwait