2012-11-28 133 views
0

如何選擇一個鏈接或圖片上右擊操作,選擇任何選項中選擇一個選項?如何右鍵點擊一個鏈接,並使用硒的webdriver

我知道如何使用SendKeys下面的代碼來做到這一點:

WebElement o_Mail=driver.findElement(By.xpath("/html/body/center/form/table/tbody/tr/td[3]/a")); 
Actions action=new Actions(driver); 
action.contextClick(o_Mail).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.RETURN).build().perform(); 

的缺點是在這裏,我們應該知道DOWN按鈕多少次應該按下。

但我怎麼能有這將是像下面的選項名稱選擇?

action.contextClick(o_Mail).perform(); 
WebElement o_element=driver.findElement(By.xpath("//option[contains(text(),'Open Link in New Tab')]")); 
o_element.click(); 

您可以使用谷歌主頁,並右鍵點擊高級搜索,然後選擇在新標籤中打開鏈接?

請幫忙。

回答

0

只是一個猜測:在新標籤中打開鏈接也大多按Ctrl +完成單擊

我沒有這樣做,但在我的硒的測試,但你能做到這一點,你做的主要向下的方法以同樣的方式...

+0

感謝您的回覆。但我想要更通用的一個。在這裏,我需要在新標籤中打開鏈接,但在我的應用程序中說有一個鏈接,並有其他選項沒有捷徑,那麼你的技巧不會工作。 – Uday

+0

任何人都可以幫助我嗎? – Uday

+0

那麼,你正在試圖實現Selenium不是專爲......而設計的......這就是爲什麼沒有什麼答案...... –

1

如果你想2樓獨立的窗口,你可以做的是抓住文件的URL(通過獲取元素的href屬性),然後開始新的驅動程序,然後導航到該鏈接。

1

我從來沒有編碼的硒腳本,Java編寫,但這樣的事情可能工作:

WebElement o_element=driver.findElement(By.xpath("//option[contains(text(),'Open Link in New Tab')]")); 
String url = o_element.getAttribute("href"); 
driver.executeScript("window.open(" + url + ", '_blank');"); 
0

如果您要選擇從上下文菜單中的項目,你必須只是使用移動鼠標位置按鍵事件是這樣的。下面的代碼將選擇從上下文菜單中選擇第二個選項: -

操作動作=新的操作(駕駛); 。action.contextClick(PRODUCTLINK).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.RETURN).build()執行();

希望這會適合你。

相關問題