【发布时间】:2020-03-04 00:15:32
【问题描述】:
我正在为论坛创建一个测试,我想测试论坛 BB 代码。我有一个这样的BB码,
[B][FONT=Trebuchet MS][SIZE=7]Meteor[/SIZE][/FONT][/B]
[COLOR=#000000][FONT=Verdana][I][B][SIZE=4]n: [/B][/I][/FONT]
[S][B][FONT=Verdana]ki[/SIZE][/FONT][/B][/S][/COLOR]
[URL='https:///coral-lps-6/']
[FONT=Impact][SIZE=7][COLOR=#F41600][U]CLICK HERE TO BUY![/U][/COLOR][/SIZE][/FONT][/URL]
我正在尝试使用以下方式将此代码填充到文本区域(包装在 p 标签中),
messageBox = self.browser.find_elements_by_css_selector('.message-editorWrapper p')[0]
code = r"{}".format(bb_code)
self.browser.execute_script("arguments[0].innerHTML = '"+code+"'", messageBox)
我收到了这个错误
Traceback(最近一次调用最后一次):文件“login.py”,第 51 行,在 bot.postRequest() 文件“login.py”,第 31 行,在 postRequest self.browser.execute_script("arguments[0].innerHTML = '"+code+"'", messageBox) 文件 “/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py”, 第 636 行,在 execute_script 中 'args': convert_args})['value'] 文件 "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", 第 321 行,在执行中 self.error_handler.check_response(response) 文件 "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/errorhandler.py", 第 242 行,在 check_response 中 引发异常类(消息,屏幕,堆栈跟踪) selenium.common.exceptions.WebDriverException:消息:未知错误: Runtime.evaluate 抛出异常:SyntaxError: Invalid or unexpected 令牌(会话信息:chrome=70.0.3538.77)(驱动程序信息: chromedriver=73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),平台=Linux 4.15.0-66-通用 x86_64)
但是当我使用简单的文本时效果很好。那么如何在论坛中添加 BB CODE 来测试它是否正在使用 selenimum。
【问题讨论】:
-
您将代码放在
' '中的innerHTML='...'中,但在BB 代码中,您在[URL='https:///coral-lps-6/']中也有'- 也许它会产生问题。它可以创建不正确的 JavaScript 代码。也许您应该在innerHTML="..."或BB 代码中使用" "。 -
这是无用的
r"{}".format(bb_code),因为它不会向bb_code添加任何内容 - 它不会将" "添加到代码中。
标签: python selenium selenium-webdriver