2016-07-23 73 views
-1
「按鈕」

[使用Python 2.7和硒網絡驅動程序]點擊硒

所以這是這個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() 

他們沒有工作。

有什麼建議嗎?

+1

定義'他們都不工作'。有沒有錯誤?你通過xpath獲得'elem'嗎? –

+0

您是否驗證了您提供的XPath'// * [@ id =「permalink-overlay-body」]/div/div [1]/span'是否正確? –

回答

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() 
0

這有可能是你的選擇是錯誤的。您可以嘗試其他選擇方法,例如find_element_by_css_selector()

首先找到該元素,看看它是否返回任何東西。修改你使用的方法並試驗你的選擇器模式,直到它匹配 - 返回你想要的元素。 ELEM = driver.find_element_by_css_selector( 'PermalinkProfile-駁回跨度')

參見Locating elements指南關於這裏可能aproaches。

如果您有點擊它的元素:

elem.click() 

正如蓋伊說click()不返回任何東西,所以你需要做的是在兩個步驟。