我正在测试浏览器的移动响应能力。我使用此命令将浏览器窗口大小更改为iPhone 5,即320 x 568
driver.Manage().Window.Size = new Size(320, 568);
当我运行测试时,浏览器会根据上述大小打开,没有任何问题。但它无法找到页面上显示的超链接文本。当我真正看到屏幕上的链接文本时,我得到了Element不可见的异常。那么,任何人都可以帮我解决这个问题,或者有任何我可以尝试的想法吗?
任何帮助都将受到高度赞赏。
感谢。
答案 0 :(得分:0)
也许是由于时间延迟,这意味着代码甚至会在链接出现之前执行,所以请用您的语言编写以下代码
来自Ruby Selenium-binding的代码
wait = Selenium::WebDriver::Wait.new(timeout: 10) # seconds
wait.until { driver.find_element(id: "foo").displayed? }
driver.find_element(id: "foo").click
答案 1 :(得分:0)
尝试滚动到该元素。
你可以使用java脚本来做到这一点。
在Python中,这可以通过
WebDriver.execute_script("arguments[0].scrollIntoView();", elem)
答案 2 :(得分:0)
当您测试移动响应时,网页DOM的某些元素会发生变化,因此selenium无法找到您专门尝试定位的元素。因此,您应该尝试调试并找到代码所在的方法没有执行该操作。然后您应该在"移动响应视图"中找到这些元素的定位器。在测试移动设备时只触发那些方法。