2014-10-02 73 views
-1

我试图单击网站上没有“ID”或“Name”的小按钮。唯一的唯一标识符是的onclick,这是如下:如何将密钥发送到硒中的困难元素(Python)

onclick="submitForm('DefaultFormName',1,{'param1':'HXCTIMECARDACTIVITIESPAGEXgm7J5oT','serverValidate':'1uCdqvhJe','param2':'',event:'details|1'});return false;" 

然而,页面上的其他按钮的onclick以下:

onclick="submitForm('DefaultFormName',1,{'param1':'HXCTIMECARDACTIVITIESPAGEXgm7J5oT','serverValidate':'1uCdqvhJe','param2':'',event:'details|2'});return false;" 

唯一的区别是在一个1对2中间的代码。我试图用“find_element_by_css_selector”用下面的代码,但它不工作:

driver.find_element_by_css_selector(".x1p[onclick*='details|1']").click() 

另一种办法是选择前面的元素,用下面的代码:

precedingbutton = driver.find_element_by_name('B22_1_6') 

然后再送标签,然后输入。但是,在发送Tab之后,我不知道如何发送Enter,而不将Send_Keys命令分配回前面的框,该框取消选择我想要的按钮。

让我知道你是否可以帮忙!

回答

0

如果您可以找到父项,则可以使用xpath或与其相关的nth-child css选择器来定位该子项。

编辑回应评论:

由“2元离开”你的意思是目标前方兄弟姐妹,你可以试试td[name="B22_1_6"] + td + td假设。这是sibling selector

+0

虽然前面的框不是父项。表格中的另一个元素。该表没有名称或ID,所以我不知道我可以如何引用它。 – sdailey814 2014-10-02 20:43:43

+1

如何使用兄弟符号(http://selenium.polteq.com/en/locate-sibling-elements/) – jcfollower 2014-10-02 20:46:49

+0

@jcfollower就是这么说的。 – 2014-10-02 20:49:26

0

您可以通过

driver.find_element(By.XPATH, 'your xpath').click() 

容易做到这一点对于找到的XPath,只是检查与萤火虫的按钮,在HTML标签右键点击选择的元素上,点击复制XPath。

希望它能帮助你。