I am trying to use python Selenium for the first time.
This would be a simple question for some of you but I am a bit disappointed here..
I would click on a link text which will open another webpage (WebDriver IE)
When I inspect the link I have this:
<li class="limarginSP"><a class="spLink ng-binding" href="" ng-click="utility.ngPostForm(trans)">Finance System</a></li>
I tried this :
from selenium import webdriver import time driver = webdriver.Ie(executable_path="IEDriverServer.exe") #local web site driver.get("http://path.net") t = 5 time.sleep(t) elem_pyFinSys= driver.find_element_by_link_text("Finance System") elem_pyFinSys.click()
but this will open another link in my page
inspection of the link opened below
<a class="navLink ng-binding" href="" ng-click="utility.ngPostForm(supp)">Reporting Subscription</a>
My question is how to get the right element to open the right page? I have to use Internet explorer as the application won’t work with other browser.
Thanks in advance
Advertisement
Answer
Try to use one of the following locators:
driver.find_element_by_css_selector("limarginSP>.spLink.ng-binding")
Or
driver.find_element_by_css_selector(".limarginSP")
find_element_by_link_text
is not always a good idea because there may be many same locators.