使用Selenium W/Java綁定和ChromeDriver 2.3與最新的瀏覽器上安裝硒/ Java的:拖放操作不工作的不可見元素
我後我目前難倒了足夠多的時間,試圖找到一個解決方案。我正在嘗試將元素拖放到另一個元素。唯一的缺點是我需要移動到的元素目標只有在移動源元素後纔可見。有什麼建議?
所以這裏的源元素的截圖,我點擊並按住,然後拖動它公開,我可以降得兩個選項:
因此,正如我按住鼠標拖動只是一小部分,降目標變得可見,每下面的截圖:
Targets visible once mouse is dragged with source
下面是最新的代碼片段我試過,我認爲應該做到這一點,但你們沒有任何反應,並繼續進入Thread.sleep(),它僅用於觀察目的。這些假設WebDriverWait的健康情況和webdriver的:
driverWait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[@class='user-info ng-binding'][text()='Sample Text']")));
driverWait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='user-info ng-binding'][text()='Sample Text']")));
source = driver.findElement(By.xpath("//div[@class='user-info ng-binding'][text()='Sample Text']"));
//move to element, click and hold, and then move it to expose the available options
actions.moveToElement(source).clickAndHold().pause(Duration.ofSeconds(1)).moveByOffset(10, 10).pause(Duration.ofSeconds(1)).build().perform();
Thread.sleep(10000);
這樣的想法背後是單擊並按住源,將它一點點地顯示目標,然後找到目標,並用行動.release()將目標移動到源代碼上,但是當我調試它時,它不會對元素執行任何操作,直接進入Thread.sleep()。我讀過大量的錯誤。任何建議將不勝感激。
看看https://stackoverflow.com/a/45037227/8020699它看起來像有是已知的硒 – TitusLucretius
拖放問題,我已經看到線程。我不認爲我的問題與此有關,因爲我無法進行傳統的拖放操作,因爲元素在源移動之前不可見。 – potatocode
我目前正在嘗試從這裏的機器人/硒拖放解決方法的一些組合:https://github.com/SeleniumHQ/selenium-google-code-issue-archive/issues/3604我會更新,如果我做得到任何結果 – potatocode