gpt4 book ai didi

java - 粘贴到文本区域

转载 作者:行者123 更新时间:2023-12-01 23:58:03 26 4
gpt4 key购买 nike

我试图让我的一天变得更轻松,制作一个程序,通过 selenium webdriver 将我自己注册到纸牌游戏锦标赛中。我是初学者,所以我很兴奋,尽管这只是基础知识,即单击此处,确认这一点,写下这一点,但最后我遇到了一个无法解决的问题。

最后您需要通过牌组代码提交牌组。发送键功能? (不确定这是否是正确的措辞)不起作用,因为它实际上需要粘贴到文本区域中。每当您尝试“仅”写入框中时,它都会显示其无效的牌组代码。

driver.findElement(By.xpath("//*[@id=\"react-root\"]/div/div/div[2]/div/div[2]/div/div[4]/div[1]/div/textarea")).click();

driver.findElement(By.xpath("//*[@id=\\\"react-root\\\"]/div/div/div[2]/div/div[2]/div/div[4]/div[1]/div/textarea")).sendKeys(Keys.chord(Keys.CONTROL + "v"));

我这样做了,第一行只需单击文本区域,然后尝试粘贴它(当我手动复制甲板代码时,不知道如何解决这个问题,因为我需要粘贴 3 个不同的代码,但是这是 future 的问题)但代码不会粘贴,我不知道问题在哪里。我在不同的文本区域中尝试了具有相同设置的粘贴功能,这意味着我在剪贴板中复制了一些内容,并且效果很好。

牌组代码示例为

" AAECAZICCiT3A94FrtICv/IC9fwC2KAD+KED9KID/KMDCkBWX/4BxAapogPIogPcogPvogPZqQMA "

我希望我提供了我应该提供的一切,否则请告诉我,我很乐意发布更多内容:) 提前致谢,我希望有人可以帮助我

最佳答案

这可能不起作用,因为我没有看到您显式复制套牌代码,正如您提到的那样,您是手动完成的。我还修改了您的示例以不使用 Keys.chord,因为您在这里可能不需要它们。

复制元素:

deckCodeWebElement = driver.findElement(locatorToFindDeckCode);

deckCodeWebElement.send_keys(Keys.CONTROL+'a')
time.sleep(1)
deckCodeWebElement.send_keys(Keys.CONTROL+'c')

然后,粘贴:

deckCodeWebElementToPaste = driver.findElement(locatorToFindDeckCodeToPaste);

deckCodeWebElementToPaste.send_keys(Keys.CONTROL+'v')

另一方面,我建议将 XPath 缩短为相对表示法,因为您使用的绝对表示法非常脆弱并且很容易损坏。您想要查找元素,无论它们在 DOM 树中的位置如何。

您可以更改此设置:

//*[@id=\\\"react-root\\\"]/div/div/div[2]/div/div[2]/div/div[4]/div [1]/div/textarea

就是这样:

//文本区域

如果有多个 textarea 元素,您可能需要查询 ID、类或名称等内容,但无需从根节点开始并使用 div[2 ]div[4] 除非绝对必要。

关于java - 粘贴到文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58195503/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com