Selenium 选择文本并执行单击操作

Selenium 选择文本并执行单击操作,selenium,webdriver,selenium-webdriver,Selenium,Webdriver,Selenium Webdriver,我想选择一些文本并执行单击操作,就像在Winword中,在选择一些文本后单击Bold 我必须选择文本并单击文本区域中的粗体图标 关于如何使用Selenium/Webdriver在Java中实现这一点,您的答案是 // the element containing the text WebElement element = driver.findElement(By.id("text")); // assuming driver is a well behaving WebDriver Actio

我想选择一些文本并执行单击操作,就像在Winword中,在选择一些文本后单击
Bold

我必须选择文本并单击
文本区域中的
粗体图标

关于如何使用Selenium/Webdriver在Java中实现这一点,您的答案是

// the element containing the text
WebElement element = driver.findElement(By.id("text"));
// assuming driver is a well behaving WebDriver
Actions actions = new Actions(driver);
// and some variation of this:
actions.moveToElement(element, 10, 5)
    .clickAndHold()
    .moveByOffset(30, 0)
    .release()
    .perform();

我试过这种方法,但没有成功。代码如下:

System.setProperty("webdriver.chrome.driver", "D:/chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.get("https://www.google.com.vn");
    driver.manage().window().maximize();

    WebElement text = driver.findElement(By.xpath("//*[contains(text(),'Google.com.vn')]"));
    Actions actions = new Actions(driver);
    actions.moveToElement(text, 10, 5).clickAndHold().moveByOffset(30, 0).release().perform();
我切换到JavascriptExecutor,它成功了:

    System.setProperty("webdriver.chrome.driver", "D:/chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.get("https://www.google.com.vn");
    driver.manage().window().maximize();

    WebElement text = driver.findElement(By.xpath("//*[contains(text(),'Google.com.vn')]"));
    JavascriptExecutor js = (JavascriptExecutor) driver;

    js.executeScript("arguments[0].setAttribute('style', 'background: blue;');", text);

我尝试了
Action
builder
并玩了
offset
。这对我有用

Actions action = new Actions(driver);
action.moveToElement(wblmt,3,3).click().keyDown(Keys.SHIFT).moveToElement(wblmt,200, 0).click().keyUp(Keys.SHIFT).build().perform(); 

使用driver.sendKeys()发送Ctrl+B键如何?AJ tnx用于响应,但下面是我的问题…1-按钮位于浏览器iframe本身上。不是从键盘上。2-和u没有提到如何在selenium/webdriver中选择文本。以下是问题2的答案。