我已经仔细阅读了很长一段时间,但找不到解决当前问题的确切或类似的方法。这是我在SO上的第一篇帖子,如果我的格式设置被关闭,我深表歉意
问题- 我试图在网页上找到一个按钮,自动将我按进时钟。我能够登录并导航到正确的页面(该页面似乎是动态加载的,因为从“时间管理”或“付款期限”等不同选项卡切换不会更改URL)
尝试解决- 我尝试过使用直接和间接的XPath、CSS选择器、ID、类、名称,但都失败了。下面包括查找按钮的不同代码尝试,以及包含按钮的代码片段
按钮-HTMLFull Page HTML Source Code
<td>
<a onclick="return OnEmpPunchClick2(this);" id="btnEMPPUNCH_PUNCH" class="timesheet button icon " href="javascript:__doPostBack('btnEMPPUNCH_PUNCH','')">
<span> Punch</span></a>
<input type="hidden" name="hdfEMPPUNCH_PUNCH" id="hdfEMPPUNCH_PUNCH" value="0">
</td>
尝试-PYTHON-全部找不到
#All these return: "Unable to locate element"
self.browser.find_element_by_id("btnEMPPUNCH_PUNCH")
self.browser.find_element_by_xpath("//a[@id='btnEMPPUNCH_PUNCH']")
self.browser.find_element_by_css_selector('#btnEMPPUNCH_PUNCH')
#I attempted a manual wait:
wait=WebDriverWait(self.browser,30)
button = wait.until(expected_conditions.element_to_be_clickable((By.CSS_SELECTOR,'#btnEMPPUNCH_PUNCH')))
#And even manually triggering the script:
self.browser.execute_script("javascript:__doPostBack('btnEMPPUNCH_PUNCH','')")
self.browser.execute_script("__doPostBack('btnEMPPUNCH_PUNCH','')")
#Returns Message: ReferenceError: __doPostBack is not defined
这些都不管用,我也不明白为什么会这样。任何帮助都将不胜感激
目前没有回答
相关问题 更多 >
编程相关推荐