У меня в настоящее время есть скрипт на python селен, который работает с PhantomJS, но не с Firefox. Я получаю эту ошибку:
NoSuchElementException('Unable to locate element: Research Project', None, None)
В частности, он не работает в этой строке кода:
self.webdriver.find_element_by_link_text("Research Project").click()
Я попробовал несколько разных методов ожидания без удачи, таких как:
WebDriverWait(self.webdriver, 10000).until(EC.presence_of_element_located((By.LINK_TEXT, "Research Project")))
Я также пытался использовать различные Xpath для проверки, не является ли текст ссылки достаточно конкретным, что приводило к исключению ElementNotInteractableException, если ожидание не было реализовано, или к тайм-ауту ожидания, если реализовано.
Если это поможет, мой веб-драйвер PhantomJS определяется как:
args = [
'--ignore-ssl-errors=true',
'--ssl-protocol=any',
'--web-security=false'
]
driver = webdriver.PhantomJS(service_args=args, executable_path='/usr/bin/phantomjs', service_log_path='/tmp/ghostdriver.log')
А мой веб-драйвер Firefox просто определяется как:
driver = webdriver.Firefox(executable_path='/usr/local/Cellar/geckodriver/0.21.0/bin/geckodriver')
Я могу предоставить более подробную информацию, если это необходимо. Любая помощь будет принята с благодарностью.
HTML-код объекта, на который я пытаюсь ссылаться:
<a href="#" id="dynaTempSelView:dynaTempSelForm:tree_selector:newLinksDT:0:close_tree" name="dynaTempSelView:dynaTempSelForm:tree_selector:newLinksDT:0:close_tree" onclick="RichFaces.ajax("dynaTempSelView:dynaTempSelForm:tree_selector:newLinksDT:0:close_tree",event,{"parameters":{"node_id":5627697,"ajaxRequest":"true"} ,"incId":"1"} );return false;" class="publicationTypeLink ariaHasPopup ariaExpanded" onblur="overviewAddnew(null);unselectedDiv(this);" onfocus="overviewAddnew(this);selectedDiv(this);" onmouseout="overviewAddnew(null);unselectedDiv(this);" onmouseover="overviewAddnew(this);selectedDiv(this);" aria-describedby="dynaTempSelView:dynaTempSelForm:tree_selector:newLinksDT:0:hiddenDescriptiontree_closed" aria-haspopup="true" aria-expanded="true"><div id="dynaTempSelView:dynaTempSelForm:tree_selector:newLinksDT:0:closeTree" style="padding-left:20px;" class="unselectedDiv"><img src="/converis/javax.faces.resource/images/collapsible_panel_triangle_state_expanded.png.xhtml?ln=intern" alt=""><span style="padding-left:15px;">Research Project </span></div><span id="dynaTempSelView:dynaTempSelForm:tree_selector:newLinksDT:0:hiddenDescriptiontree_closed" style="display: none;">Research Project</span></a>