gpt4 book ai didi

Python Selenium Webdriver : finding #document element

转载 作者:太空宇宙 更新时间:2023-11-03 13:43:55 25 4
gpt4 key购买 nike

我一直在使用 Python 的 Selenium Webdriver 获取带有此 HTML 代码的元素。但是,我无法访问此 #document 标记内的任何元素。

我都用过driver.find_element_by_xpath("html/body/div[@id='frame']/iframe/*"),我试过了elem = driver.find_element_by_tag("iframe"),后面是elem.find_element_by_xpath 查找内部元素但失败。

我还尝试执行 driver.switch_to_frame(driver.find_element_by_tag("iframe")),然后使用 xpath 表达式来查找内部元素,但它也没有用。

框架:

<div>
<iframe>
#document
<html>
<body>
<div>
....
</div>
</body>
</html>
</iframe>
</div>

最佳答案

切换到 iframe 然后使用正常的查询方法是正确的使用方法。我在整个大型测试套件中成功地使用了它。

不过,当您在 iframe 中完成工作后,请记住切换回默认内容。

现在,来解决你的问题。您如何提供 iframe 的内容?您是真的只是编写了 html 并将其保存到文件中,还是正在查看示例站点。您可能会发现 iframe 实际上并不包含您期望的内容。试试这个。

from selenium.webdriver import Firefox

b = Firefox()
b.get('localhost:8000') # or wherever you are serving this html from
iframe = b.find_element_by_css_selector('iframe')
b.switch_to_frame(iframe)
print b.page_source

那将是 iframe 中的 html。内容是否如您所愿?或者它主要是空的。如果它是空的,那么我怀疑是因为您需要单独提供 iframe 的内容。

关于Python Selenium Webdriver : finding #document element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24360135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com