wait(...)的所有变体都从以下代码中抛出以下异常.我究竟做错了什么?
java.lang.IllegalMonitorStateException
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at LoginPage.main(LoginPage.java:29)
try
{
driver.get("http://domain:port/coco/webapp/login/login.faces");
driver.findElement(By.id("clientCode")).sendKeys("coco");
driver.findElement(By.id("systemCode")).sendKeys("consumer");
driver.findElement(By.id("userId")).sendKeys("ffadmin");
driver.findElement(By.id("password")).sendKeys("password");
driver.findElement(By.className("af_commandButton")).click();
driver.wait();
Assert.assertTrue(driver.getPageSource().contains("Administration"));
}
catch (Exception e)
{
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud) 我使用Python3和Selenium firefox提交表单,然后获取他们随后登陆的URL.我是这样做的
inputElement.send_keys(postnumber)
inputElement.submit()
time.sleep(5)
# Get Current URL
current_url = driver.current_url
print ( " URL : %s" % current_url )
Run Code Online (Sandbox Code Playgroud)
这大部分时间都在工作,但有时页面加载时间超过5秒,我得到旧URL,因为新的URL还没有加载.
我该怎么做?
我有一个包含iframe标签的页面,并且想要捕捉 iframe 中的内容是否已完全加载。
我使用 time.sleep 和 check document.readyState,它在理想情况下运行良好;来自网络服务器的强大而快速的响应。但似乎不能保证所有情况,我想改进我的代码。
请告诉我一些建议或提示。谢谢。
我的环境
我参考以下文件。
我在下面写了代码
def wait_for_document(self, driver):
time.sleep(3)
for i in range(20):
if driver.execute_script("return document.readyState") == "complete" : return
else : time.sleep(1)
Run Code Online (Sandbox Code Playgroud) 我整理了一个刮擦Expedia价格/航空公司的原油刮板:
# Start the Server
rD <- rsDriver(browser = "phantomjs", verbose = FALSE)
# Assign the client
remDr <- rD$client
# Establish a wait for an element
remDr$setImplicitWaitTimeout(1000)
# Navigate to Expedia.com
appurl <- "https://www.expedia.com/Flights-Search?flight-type=on&starDate=04/30/2017&mode=search&trip=oneway&leg1=from:Denver,+Colorado,to:Oslo,+Norway,departure:04/30/2017TANYT&passengers=children:0,adults:1"
remDr$navigate(appURL)
# Give a crawl delay to see if it gives time to load web page
Sys.sleep(10) # Been testing with 10
###ADD JAVASCRIPT INJECTION HERE###
remDr$executeScript(?)
# Extract Prices
webElem <- remDr$findElements(using = "css", "[class='dollars price-emphasis']")
prices <- unlist(lapply(webElem, function(x){x$getElementText()}))
print(prices)
# Extract Airlines …Run Code Online (Sandbox Code Playgroud) 我在 Java 中使用 selenium。我想在该页面上执行任何操作之前等待页面完全加载。
我尝试了以下方法,但未能按预期工作。
public void waitForElementToBeVisible(final WebElement element) {
WebDriverWait wait = new WebDriverWait(WebDriverFactory.getWebDriver(), WEBDRIVER_PAUSE_TIME);
wait.until(ExpectedConditions.visibilityOf(element));
Run Code Online (Sandbox Code Playgroud) 使用selenium-webdriver for javascript等待页面完全加载的最佳方法是什么?我注意到这个问题非常相似,但我需要在javascript中实现.
var webdriver = require('selenium-webdriver'),
By = webdriver.By,
until = webdriver.until;
var driver = new webdriver.Builder()
.forBrowser('firefox')
.build();
driver.get('http://www.google.com');
// Wait for the page to fully load here...
// Something like this...
// driver.wait(...);
// Then do other stuff here
driver.quit();
Run Code Online (Sandbox Code Playgroud) Selenium - Excel VBA 的包装器使用什么代码或函数,以便程序将等待页面完全加载然后执行其他命令?
selenium ×7
java ×2
python ×2
excel ×1
javascript ×1
r ×1
rselenium ×1
testing ×1
unit-testing ×1
vba ×1
web-scraping ×1
webdriver ×1