我试图更改的Java中的类名(webdriver,selenium)元素:
<span class="myclass" role="button">mytext</span>
Java代码:
((JavascriptExecutor) driver).executeScript("document.getElementsByClassName('myclass')[0].className='clearr'");
((JavascriptExecutor) driver).executeScript("document.getElementsByTagName('mytext').className='clearr'");
((JavascriptExecutor) driver).executeScript("document.evaluate('//span[@class='myclass'][text()='mytext']', document, null, XPathResult.ANY_TYPE, null).className='clearr'");
1的选项运行良好,将1的类"myclass"名称更改为"clearr",但类"myclass"在很多地方,我需要使用xpath=//*[@class='yclass'][text()='mytext']
第二-我没有失败,但什么都没发生。Still classname='cyclass'
第3个选项:失败
我怎样才能让它发挥作用元素:
<span class="clearr" role="button">mytext</span>
我建议采用这种方法:
1.使用XPATH或等硒定位器定位元素
WebElement ele = driver.findElement(By.xpath("//*[@class='myclass'][text()='mytext']");
2.然后使用JavaScriptExecutor来更改该类,如下所示:
((JavascriptExecutor) driver).executeScript("arguments[0].className='clearr'",element);