python selenium switch_to_frame不适合我

时间:2017-12-12 08:37:05

标签: python xpath selenium-webdriver selenium-chromedriver

我想在python selenium chrome web driver中单击下面的元素。

e.g
class a :
{
 public:
    ----
    ----

 private:
     ----
     ----
};

在切换右框后它正在工作。

<a href="javascript: d.o(18);" class="node">Maintenance</a>

但成功点击“恢复默认设置”后,新页面显示在第3帧,以便添加以下代码。 (主要是第3帧)

browser.switch_to_frame("navigation")
browser.find_element_by_link_text('Maintenance').click()
browser.find_element_by_link_text('Restore Default Settings').click()

但是这一次,我有超时错误。 在代码中看起来无法识别此frame3。

browser.switch_to_frame("main")
browser.find_element_by_name('loadConfig').click()

这是帧源。

File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\support\wait.py", line 80, in until
    raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:

有人知道为什么会这样吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

根据您分享的HTML,您可以使用以下代码行:

browser.find_element_by_xpath("//a[@class='node' and contains(text(), 'Maintenance')]").click()