为什么我的点击无法在mobileEmulation上使用?

时间:2019-07-10 08:59:45

标签: java html css selenium mobileemulation

我正在测试Web应用程序。我使用Selenium + Java。我想在桌面和移动设备上测试相同的东西。桌面上的测试还不错,但是当我使用mobileEmulation(Nexus 5)并在一个站点上进行相同的测试时,测试就失败了。日志显示,网络驱动程序进行了单击(无错误),但实际上并没有完成。我毫无疑问地单击了下一个站点,但是当我想单击上一个站点时,就无法完成。

我尝试了不同的等待,例如:

WebDriverWait wait = new WebDriverWait(driver,10);
wait.until(ExpectedConditions.elementToBeClickable(element));
wait.until(ExpectedConditions.visibilityOfAllElements(element));

或:

Thread.sleep(5000);

扩散选择器:

 @FindBy(xpath="/html[1]/body[1]/section[1]/main[1]/div[1]/div[1]/div[3]/div[2]/div[1]/ul[1]/li[2]/a[1]")

 @FindBy(xpath = "//a[contains(text(),'Poprzednia')]")

 @FindBy(css = "body.indexpage:nth-child(2) section.content_wrap.container-fluid:nth-child(2) main.content_data.col-md-12 div.content_data div.dataTables_wrapper.form-inline.dt-bootstrap.no-footer:nth-child(2) div.row:nth-child(3) div.col-sm-7 div.dataTables_paginate.paging_simple_numbers ul.pagination li.paginate_button.previous:nth-child(1) > a:nth-child(1)")

不同的点击次数:

this.element.click();

JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);

Actions builder = new Actions(driver);
builder.moveToElement(poprzedniaStrona).click(element);
builder.perform();

我认为问题是因为网站的样式(文本对齐)正在发生变化。我厌倦了像在桌面版上一样更改它,但这不起作用:

JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].setAttribute('style', 'text-align: right;')", test1);

其中:

@FindBy(xpath = "//div[@id='sg-datatables-pllistypl_datatable_paginate']")
WebElement test1;

HTML(我要单击的元素):

<a href="#" aria-controls="sg-datatables-pllistypl_datatable" data-dt-idx="0" tabindex="0" style="">Poprzednia</a>

HTML(具有不同样式的元素):

<div class="dataTables_paginate paging_simple_numbers" id="sg-datatables-pllistypl_datatable_paginate"><ul class="pagination"><li class="paginate_button previous disabled" id="sg-datatables-pllistypl_datatable_previous" style=""><a href="#" aria-controls="sg-datatables-pllistypl_datatable" data-dt-idx="0" tabindex="0" style="">Poprzednia</a></li><li class="paginate_button active"><a href="#" aria-controls="sg-datatables-pllistypl_datatable" data-dt-idx="1" tabindex="0">1</a></li><li class="paginate_button "><a href="#" aria-controls="sg-datatables-pllistypl_datatable" data-dt-idx="2" tabindex="0">2</a></li><li class="paginate_button next" id="sg-datatables-pllistypl_datatable_next"><a href="#" aria-controls="sg-datatables-pllistypl_datatable" data-dt-idx="3" tabindex="0">Następna</a></li></ul></div>

浏览器: Chrome 75

ChromeDriver: 75.0.3770.90

我将非常感谢您的帮助:)

Correct SS

0 个答案:

没有答案