温馨提示:本文翻译自stackoverflow.com,查看原文请点击:html - Executing an event from python
events html launch python selenium

html - 从python执行事件

发布于 2020-03-27 10:44:33

作为python的初学者,我正在尝试制作一个简单的自动登录项目。我要做的另一件事是,在html表的第四行上单击鼠标,以显示适当的内容。该段的html代码为:

<tr class="tbl_seznam_barva_1" onclick="setTimeout('__doPostBack(\'ctl02$ctl00$BrowseSql1\',\'Select$0\')',470);" onmouseover="radekSeznamuClass=this.className;this.className='RowMouseOver';" onmouseout="this.className=radekSeznamuClass;">
  <td>virtuálny terminál</td>
</tr>

如何执行此“ onclick”事件?

from selenium import webdriver

#...

browser = webdriver.Firefox()

elem = browser.find_element_by_name('txtUsername')
elem.send_keys('myLogin' + Keys.RETURN)

elem = browser.find_element_by_xpath("//tr[4]")

# some code for event execution goes here...

查看更多

查看更多

提问者
Dounchan
被浏览
184
Dounchan 2019-07-04 23:16

问题是应该等待网页完全加载

在该行之后elem.send_keys('myLogin' + Keys.RETURN),网页需要时间来呈现内容,因此应添加一个延迟:

import time

# ...

elem.send_keys('myLogin' + Keys.RETURN)
time.sleep(1)
elem=browser.find_element_by_xpath("//tr[4]")
elem.click()