Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 如何设置aria pressed=";“真的”;硒?_Unit Testing_Selenium_Automated Tests_Selenium Chromedriver_Selenium Ide - Fatal编程技术网

Unit testing 如何设置aria pressed=";“真的”;硒?

Unit testing 如何设置aria pressed=";“真的”;硒?,unit-testing,selenium,automated-tests,selenium-chromedriver,selenium-ide,Unit Testing,Selenium,Automated Tests,Selenium Chromedriver,Selenium Ide,HTML:- 如何在Selenium中设置aria pressed=“true?”在Selenium中没有直接的方法来设置元素的属性。但我们可以使用javascript执行器设置元素的属性,如下所示 WebDriver driver = new ChromeDriver(); driver.get("URL"); WebElement Login =driver.findElement(ByClassName.className("segment-button")); Login.submit(

HTML:-


如何在Selenium中设置aria pressed=“true?”

在Selenium中没有直接的方法来设置元素的属性。但我们可以使用javascript执行器设置元素的属性,如下所示

WebDriver driver = new ChromeDriver();
driver.get("URL");
WebElement Login =driver.findElement(ByClassName.className("segment-button"));
Login.submit();

简单的回答是不要。不要这样做,除非你真的知道你在做什么,并了解网站。使用JS快捷方式强制元素上的值会导致站点必须处理此用户流的所有事件,并且可能会使页面处于错误状态。没有用户将在页面上运行JS以使其处于所需状态。。。你的剧本也不应该


正确的方法是从用户的角度了解如何设置。我必须按下什么按钮等才能获得所需的设置?一旦你明白了这一点,编写Selenium代码来按下这些按钮等,你就会得到想要的结果。

你的xpth代码+”并以(@aria pressed,'true')]开头“@Hiten你能解释一下吗?@DebanjanB我知道区别,这是一个答案。答案并不总是准确地回答OP提出的问题。有时,它提供建议或替代方法。看见有时候OP试图做的不是一个好的实践。当这种情况发生时,我们应该提供替代方案,并解释为什么他们所问的不是一个好的做法。你们需要从清楚地说“问问题,得到答案,不”开始distractions@DebanjanB好啊在“回答问题”下阅读<代码>确保您的答案提供了这一点,或者是一个可行的替代方案。,我在这里就是这么做的。答案也可以是“不要那样做”,但也应该包括“改为试试这个”,我在这里也这么做了。另外,
任何能让提问者走上正确方向的答案都是有帮助的,
,这与你的陈述相矛盾。你不要再把我的回答当作报复。你对规则的理解是错误的。从现在起,每次你这样做我都会向你汇报。这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论。-@是的。答案是不要照你的建议去做。而是编写用户想要更改所需属性的代码。读上面。我在这里得到错误,我试图解决它。
WebDriver driver = new ChromeDriver();
driver.get("URL");
WebElement Login =driver.findElement(ByClassName.className("segment-button"));
Login.submit();
WebDriver driver = new ChromeDriver();
driver.get("URL");
WebElement Login =driver.findElement(ByClassName.className("segment-button"));
JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript("arguments[0].setAttribute('aria-pressed',true);",Login);