本文整理汇总了Python中qutebrowser.browser.webelem.javascript_escape函数的典型用法代码示例。如果您正苦于以下问题:Python javascript_escape函数的具体用法?Python javascript_escape怎么用?Python javascript_escape使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了javascript_escape函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _generate_pdfjs_script
def _generate_pdfjs_script(url):
"""Generate the script that shows the pdf with pdf.js.
Args:
url: The url of the pdf page as QUrl.
"""
return (
'PDFJS.verbosity = PDFJS.VERBOSITY_LEVELS.info;\n'
'PDFView.open("{url}");\n'
).format(url=webelem.javascript_escape(url.toString(QUrl.FullyEncoded)))
示例2: click_element
def click_element(self, text):
"""Click the element with the given text."""
# Use Javascript and XPath to find the right element, use console.log
# to return an error (no element found, ambiguous element)
script = (
"var _es = document.evaluate('//*[text()={text}]', document, "
"null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);"
'if (_es.snapshotLength == 0) {{ console.log("qute:no elems"); }} '
'else if (_es.snapshotLength > 1) {{ console.log("qute:ambiguous '
'elems") }} '
'else {{ console.log("qute:okay"); _es.snapshotItem(0).click() }}'
).format(text=webelem.javascript_escape(_xpath_escape(text)))
self.send_cmd(":jseval " + script)
message = self.wait_for_js("qute:*").message
if message.endswith("qute:no elems"):
raise ValueError("No element with {!r} found".format(text))
elif message.endswith("qute:ambiguous elems"):
raise ValueError("Element with {!r} is not unique".format(text))
elif not message.endswith("qute:okay"):
raise ValueError("Invalid response from qutebrowser: {}".format(message))
示例3: on_editing_finished
def on_editing_finished(self, elem, text):
"""Write the editor text into the form field and clean up tempfile.
Callback for QProcess when the editor was closed.
Args:
elem: The WebElementWrapper which was modified.
text: The new text to insert.
"""
try:
if elem.is_content_editable():
log.misc.debug("Filling element {} via setPlainText.".format(
elem.debug_text()))
elem.setPlainText(text)
else:
log.misc.debug("Filling element {} via javascript.".format(
elem.debug_text()))
text = webelem.javascript_escape(text)
elem.evaluateJavaScript("this.value='{}'".format(text))
except webelem.IsNullError:
raise cmdexc.CommandError("Element vanished while editing!")
示例4: _test_escape_hexlified
def _test_escape_hexlified(self, text, qtbot, webframe):
"""Test conversion by hexlifying in javascript.
Since the conversion of QStrings to Python strings is broken in some
older PyQt versions in some corner cases, we load a HTML file which
generates an MD5 of the escaped text and use that for comparisons.
"""
escaped = webelem.javascript_escape(text)
path = os.path.join(os.path.dirname(__file__), "test_webelem_jsescape.html")
with open(path, encoding="utf-8") as f:
html_source = f.read().replace("%INPUT%", escaped)
with qtbot.waitSignal(webframe.loadFinished) as blocker:
webframe.setHtml(html_source)
assert blocker.args == [True]
result = webframe.evaluateJavaScript("window.qute_test_result")
assert result is not None
assert "|" in result
result_md5, result_text = result.split("|", maxsplit=1)
text_md5 = binascii.hexlify(text.encode("utf-8")).decode("ascii")
assert result_md5 == text_md5, result_text
示例5: _test_escape_simple
def _test_escape_simple(self, text, webframe):
"""Test conversion by using evaluateJavaScript."""
escaped = webelem.javascript_escape(text)
result = webframe.evaluateJavaScript('"{}";'.format(escaped))
assert result == text
示例6: test_fake_escape
def test_fake_escape(self, before, after):
"""Test javascript escaping with some expected outcomes."""
assert webelem.javascript_escape(before) == after
示例7: test_fake_escape
def test_fake_escape(self):
"""Test javascript escaping."""
for before, after in self.STRINGS:
with self.subTest(before=before):
self.assertEqual(webelem.javascript_escape(before), after)