单击Selenium中的“按钮”

时间:2016-07-23 14:30:17

标签: python selenium

[使用Python 2.7和Selenium Web-driver]

所以有这个HTML代码,这是一种按钮。如何在Selenium中单击它?

<div class="PermalinkProfile-dismiss">
<span class="Icon Icon--close Icon--large"></span>
</div>

我试过了:

elem = driver.find_element_by_xpath('//*[@id="permalink-overlay-body"]/div/div[1]').click

elem = driver.find_element_by_xpath('//*[@id="permalink-overlay-body"]/div/div[1]/span').click()

他们都没有工作。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

click()是一个不会返回值的函数,您无法将其赋值给变量。你可以做到

driver.find_element_by_xpath('//*[@id="permalink-overlay-body"]/div/div[1]/span').click()

或者

elem = driver.find_element_by_xpath('//*[@id="permalink-overlay-body"]/div/div[1]/span')
elem.click()

答案 1 :(得分:0)

您的选择器可能出错了。您可以尝试其他选择方法,例如git plugin

首先找到元素并查看它是否返回任何内容。修改您使用的<LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:layout_alignParentTop="true" android:background="#00632e" android:baselineAligned="false" android:weightSum="1.0"> <LinearLayout android:layout_width="0dp" android:layout_weight="0.8" android:layout_height="match_parent" android:layout_gravity="center_vertical"> <TextView android:layout_width="200dp" android:layout_height="30dp" android:textAppearance="?android:attr/textAppearanceSmall" android:text="Medium Text" android:gravity="center" android:layout_gravity="center_vertical" android:textColor="#000" android:background="#fff" android:id="@+id/textView2" /> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="0.2"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" style="?android:attr/buttonBarButtonStyle" android:text="Start" android:gravity="center" android:textColor="#fff" /> </LinearLayout> </LinearLayout> 方法并尝试使用您的选择器模式,直到匹配为止 - 返回您想要的元素。     elem = driver.find_element_by_css_selector(&#39; .PermalinkProfile-dismiss span&#39;)

有关可能的方法,请参阅Locating elements指南。

如果你有元素而不是点击它:

find_element_by_css_selector()

正如盖伊所说,find_*并没有返回任何内容,所以你需要分两步完成。