【问题标题】:splinter nested <html> documents分裂嵌套的 <html> 文档
【发布时间】:2018-12-25 15:23:39
【问题描述】:

我正在研究一些网站自动化。目前,我无法使用 Splinter 访问嵌套的 html 文档。这是一个示例网站,可以帮助演示我正在处理的内容:https://www.w3schools.com/html/tryit.asp?filename=tryhtml_elem_select

我正在尝试进入选择元素并选择“saab”选项。我被困在如何输入第二个 html 文档上。我已经阅读了文档,但什么也没看到。我希望有一种使用 Python 的方法。

有什么想法吗?

解决之前:

from splinter import Browser

exe = {"executable_path": "chromedriver.exe"}
browser = Browser("chrome",**exe, headless=False)

url = "https://www.w3schools.com/html/tryit.asp?filename=tryhtml_elem_select"
browser.visit(url)

# This is where I'm stuck. I cannot find a way to access the second (nested) html doc
innerframe = browser.find_by_name("iframeResult").first
innerframe.find_by_name("cars")[0]

解决方案:

from splinter import Browser

exe = {"executable_path": "chromedriver.exe"}
browser = Browser("chrome",**exe, headless=False)

url = "https://www.w3schools.com/html/tryit.asp?filename=tryhtml_elem_select"
browser.visit(url)

with browser.get_iframe("iframeResult") as iframe:
    cars = iframe.find_by_name("cars")
    cars.select("saab")

【问题讨论】:

    标签: html python-3.x browser-automation splinter


    【解决方案1】:

    我发现这些被称为iframes。一旦我学会了这些术语,就不难弄清楚它是如何与之交互的。 “嵌套的 html 文档” 没有返回我找到解决方案所需的结果。

    我希望这对将来的人有所帮助!

    【讨论】:

    • @Alex 会的。我发现到达网站后,您需要创建一个 with 语句块才能在 iframe 中工作。一旦我找到了正确的术语,就相对容易了。
    猜你喜欢
    • 2018-09-19
    • 2018-03-09
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 2020-11-29
    • 2019-04-29
    • 1970-01-01
    相关资源
    最近更新 更多