我已经在网页中找到了我需要的元素,并分别对它们进行了适当的命名。有没有一种方法可以稍后在测试脚本中按名称调用该元素并单击它,而不必再次定位该元素?
试图将find_element_by / .click()分成两行,所以我知道它可以引用我分配给该元素的名称。
costs = browser.find_element_by_css_selector('g:nth-child(2) > g > circle')
costs.click()
revenue = browser.find_element_by_css_selector('#chart-div-2 g:nth-child(1) > rect')
revenue.click()
(然后在执行这些步骤和一些类似操作之后,我尝试添加...。)
costs.click()
revenue.click()
消息:
'stale element reference:元素未附加到页面文档',但是我没有离开页面。
我想念什么
答案 0 :(得分:1)
由于该元素已过时,您只需要再次引用它们即可。
所以在您的情况下:
costs = browser.find_element_by_css_selector('g:nth-child(2) > g > circle')
costs.click()
revenue = browser.find_element_by_css_selector('#chart-div-2 g:nth-child(1) > rect')
revenue.click()
# DO SOME STUFF
costs = browser.find_element_by_css_selector('g:nth-child(2) > g > circle')
costs.click()
revenue = browser.find_element_by_css_selector('#chart-div-2 g:nth-child(1) > rect')
revenue.click()