Selenium 无法定位元素的解决办法

http://www.51testing.com/html/95/48695-4461402.html

上次在一个论坛使用 Selenium 发帖子,却总是定位不到发帖页面输入帖子内容的输入框,于是网上找到了下面的方法,备忘。

方法说明,就是先定位到前一个可以定位到的元素,然后使用 TAB 键来切换到本次要定位的元素,然后进行对应的操作即可。

具体是借助 ActionChains 来实现的,下面是关键部分的代码,供参考:

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.common.action_chains import ActionChains

"""

这里省略部分代码实现

"""

title_text = driver.find_element_by_id('subject')

title_text.send_keys('这是帖子主题')

time.sleep(1)

"""如果有控件无法选择,则使用 tab 方式进行选中"""

title_text.send_keys(Keys.TAB)

actionChains = ActionChains(driver)

actionChains.send_keys('这是帖子内容').perform()

btn_png = driver.find_element_by_xpath('//*[@id="postsubmit"]/span')

btn_png.click()

你可能感兴趣的:(Selenium 无法定位元素的解决办法)