我试图在本地HTML字符串上运行Selenium但似乎无法找到有关如何执行此操作的任何文档.我从电子邮件API中检索HTML源代码,因此Selenium无法直接解析它.是否有改变以下内容,以便它将读取下面的HTML字符串:
用于远程访问的Python代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_class_name("q")
Run Code Online (Sandbox Code Playgroud)
本地HTML代码:
s = "<body>
<p>This is a test</p>
<p class="q">This is a second test</p>
</body>"
Run Code Online (Sandbox Code Playgroud)
如果您不想在无法替换页面内容之前创建文件或加载URL,则可以随时使用支持HTML,CSS和JavaScript 的数据URL功能:
from selenium import webdriver
driver = webdriver.Chrome()
html_content = """
<html>
<head></head>
<body>
<div>
Hello World =)
</div>
</body>
</html>
"""
driver.get("data:text/html;charset=utf-8,{html_content}".format(html_content=html_content))
Run Code Online (Sandbox Code Playgroud)
这是我进行基本生成测试的解决方案,无需制作大量临时本地文件。
import json
from selenium import webdriver
driver = webdriver.PhantomJS() # or your browser of choice
html = '''<div>Some HTML</div>'''
driver.execute_script("document.write('{}')".format(json.dumps(html)))
# your tests
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7866 次 |
最近记录: |