如何在send\u键中转义“/?

2024-04-26 21:03:39 发布

您现在位置:Python中文网/ 问答频道 /正文

运行脚本,将代码块写入网站上的文本区域。前四个“行”正确写入,直到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 one allowed one allowed one“/”through然后跳转到文本区域的顶部,继续在下一个区域中写入。你知道吗

    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    

不确定我是否完全理解此解决方案。
经过更多的搜索,“跳转光标”似乎是一个已知的问题,“开发者必须解决它”


Tags: self区域urlbyvardevicedriverelement
2条回答

反斜杠“\”是转义字符

所以尝试\/(中间有空格,这样看起来不像V,但你不希望没有空格)

使用钥匙。返回

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。你知道吗

相关问题 更多 >