2016-07-23 94 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()不返回任何东西,所以你需要做的是在两个步骤。