运行一个脚本,该脚本将代码块写入网站上的文本区域。前四行“行”正确写入,直到var url = "https:
,此时光标跳到文本区域的左上角,然后继续写入。每次遇到/
字符时,光标将返回左上角,然后继续写入。
如何防止光标受到影响。
我尝试了\/
,\\/
,{/}
以及类似的方法来逃脱斜线。
self.driver.find_element_by_id('textarea').send_keys(
'\nvar device = this\n\nvar url = "' + baseurl + '/' + firmwarename + '"\n\nvar conv = TR69.createConnection(device)\n\ntry {'+
'var uuid = java.util.UUID.randomUUID().toString().replace("-","") \n'+
它的物理作用:
myhiddenurl.comSG9C130016_prod-mycomponent-5260-8a.27.103-combined-squashfs.img.gsdf"
var conv = TR69.createConnection(device)
var device = this
var url = "http:
请注意,第3行和第4行应分别为1和2。第1行是现在第4行的延续。
这是显示问题的示例代码...
firmwarename = "tchrisdemo-code-3-2-3.gsdf"
self.driver.get("https://futureoftesting.us/os.html")
self.driver.find_element_by_id('textarea').clear()
baseurl = "http://myhiddendomain.com/"
self.driver.find_element_by_id('textarea').send_keys(
'\nvar device = this\n\nvar url = "' + baseurl + '/' +
firmwarename + '"\n\nvar conv = TR69.createConnection(device)\n\ntry {'+
'var uuid = java.util.UUID.randomUUID().toString().replace("-","") \n'+
'var dlRequest = new TR69.DownloadRequest() \n' )
代码的第5行是问题...
我已经尝试了各种与您的评论类似的更改。一个允许使用.format的.format允许一个“ /”通过,然后跳转到文本区域的顶部,并继续在下一个书写。
baseurl = r"http://myhiddendomain.com/"
url = "{}/{}".format(baseurl,firmwarename)
self.driver.find_element_by_id('textarea').send_keys(
'\nvar device = this\n\nvar url = "' + baseurl + firmwarename + '"\n\nvar conv = TR69.createConnection(device)\n\ntry {'+
'var uuid = java.util.UUID.randomUUID().toString().replace("-","") \n'+
'var dlRequest = new TR69.DownloadRequest() \nThis is formatting: ' + url)
可悲的是产生了这个:
var dlRequest = new TR69.DownloadRequest()
This is formatting: http:/myhiddendomain.com/
var device = this
不确定我是否完全可以得到此解决方案。
经过更多搜索后,发现“跳转游标”是一个已知问题,并且“开发人员必须对其进行修复”
答案 0 :(得分:0)
反斜杠'\'是转义字符
因此,请尝试使用\ /(中间的空格,使其看起来不像V,但您显然希望没有空格)
答案 1 :(得分:0)
使用键。返回
from selenium.webdriver.common.keys import Keys
textarea = self.driver.find_element_by_id('textarea')
textarea.send_keys(r"some text without \n")
textarea.send_keys(Keys.RETURN)
textarea.send_keys(r"some other text without \n")
在第一个不起作用的情况下,Keys.RETURN
可以替代Keys.ENTER
。
或者仍然textarea.submit()
,而不是发送RETURN或ENTER键。
我建议您使用.format()来执行字符串格式化操作。
示例:
"url={}/{}".format(url, page)
我还建议您看看'r'和'u'标志。
What exactly do "u" and "r" string flags do, and what are raw string literals?
示例:
path = r"D:\Users\Marco"
要了解有关字符串格式的更多信息,请参见documentation。