Javascript Selenium单击没有名称或id的按钮
我一直在努力使这个页面自动化。在我登录后,我会在这个页面上单击一个按钮,然后再重定向到下一个页面。问题是该按钮没有名称或ID,因此很难找到该元素。我试过机械化和斯普林特。最后尝试了硒,但也没用。真的很挣扎。只需要点击这个该死的按钮!任何帮助都将不胜感激。我喜欢python和自动化,但这一次似乎什么都不适合我。请在下面找到一个快照,其中显示了我单击“inspect element”时显示的代码。另外,我不能在这里输入页面源代码,因为它大于300000个字符,所以您可能可以查看页面(您需要登录,只需10秒钟)。我指的是你登录后的页面-Javascript Selenium单击没有名称或id的按钮,javascript,jquery,python,selenium,automation,Javascript,Jquery,Python,Selenium,Automation,我一直在努力使这个页面自动化。在我登录后,我会在这个页面上单击一个按钮,然后再重定向到下一个页面。问题是该按钮没有名称或ID,因此很难找到该元素。我试过机械化和斯普林特。最后尝试了硒,但也没用。真的很挣扎。只需要点击这个该死的按钮!任何帮助都将不胜感激。我喜欢python和自动化,但这一次似乎什么都不适合我。请在下面找到一个快照,其中显示了我单击“inspect element”时显示的代码。另外,我不能在这里输入页面源代码,因为它大于300000个字符,所以您可能可以查看页面(您需要登录,只需
[!您可以尝试先通过id获取表单,然后通过类名获取按钮:
wd.find_element_by_id("frmDashboard").find_element_by_class_name("da-sms-btn").click()
您可以尝试通过xpath查找元素。Selenium在这方面做得很好:
webdriver.find_element_by_xpath("element xpath").click()
您可以很容易地找到xpath,方法是转到Chrome上的inspect element侧栏,右键单击所需的元素。右键单击下拉菜单应该有一个选项“copy xpath”。我将编写一个cssSelector,如下所示,然后进行尝试
button[onclick*='aSMS']
请注意,我正在使用*进行部分搜索,其中有:
driver.findElement(By.className(“da sms btn”)
您还可以在Chrome中打开应用程序,并在浏览器中复制CSS或XPATH:
非常感谢您的回复!实际上我可以用splinter而不是selenium使其工作!以下是我所做的- 1) 我刚刚执行了在按钮的onclick事件上执行的js
jsstring="window.parent.openPage('SendSMS?id="+id+"', 'aSendSMS', 'aSMS', 'ulSMS')"
br.execute_script(jsstring)
2) 随后,我遇到了一个问题,在下一页中,所有内容都嵌入到iframe中,因此按名称查找,而所有内容都无法找到元素。为此,splinter提供了一个很好的方法(该方法的文档记录非常糟糕,因此必须在stackoverflow的帮助下自己解决)
非常棒!谢谢大家:)它是屏幕上唯一的按钮元素吗?太棒了!不知道XPATH:D的副本
with br.get_iframe('iframe_Name') as iframe:
iframe.fill("Element_to_fill_Name","Text_to_fill")
iframe.find_by_tag("TagName")[Index_number].fill("Text_To_Fill")