Comments (3)
All selectors have a retry argument as the last argument. The number of default retries is 5. You could just increase that to get the required functionality.
The default interval between retries can be changed via a config.
from hound.
@TFarla I had a similar need and wrote my own "retryer" based on the way Text.visible_on_page
does it... a workaround for now.
defmodule MyApp.Retryer do
import Hound.Helpers.Element
@retry_time 1000
def element_visible?(element, retries \\ 5) do
if retries > 0 do
case element_displayed?(element) do
true -> true
false ->
:timer.sleep(@retry_time)
element_visible?(element, retries - 1)
end
else
element_displayed?(element)
end
end
end
Call with:
MyApp.Retryer.element_visible?({:id, "element_id"}, 10)
Where 10 is the number of times to retry.
from hound.
@darksheik Thank you!
from hound.
Related Issues (20)
- "catch" should always come after "rescue" in try [Question] HOT 1
- anonymous functions in execute_script
- Fix broken source links from hexdocs HOT 1
- Hound + Selenium/Firefox does not work with `find_element` HOT 3
- set_cookie error with ChromeDriver
- release a new version? is this package still maintained? HOT 2
- Can "other element would receive the click" become an error?
- (RuntimeError) invalid session id when running on alpine HOT 9
- Change driver in start_session
- Problem with acceptance test in hound not starting server on port 4001 in phoenix HOT 2
- Could not transform value %{"element-6066-11e4-a52e-4f735466cecf" => "d2c5deba-fdff-48db-b319-694aa6542c81"} to element HOT 2
- Support w3c for latest chrome / chromedriver releases HOT 2
- Using hound on Heroku HOT 2
- Incomplete list of keys in the documentation of set_keys
- 1.1.0 3be56f4 mismatch between github and hex HOT 5
- Should all retries load from :retries configuration value? HOT 1
- chromedriver can't start automatically HOT 2
- Improvement: the retry argument of find_element
- fill_field(email, "[email protected]")) transforms `@` into `_`
- Headless Chrome sessions not starting on recent Chrome versions HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hound.