我尝试选择这个iframe:
<iframe width="318" style="border: 0px none; padding: 0px;" height="158"></iframe>
如您所见,它没有名称。我知道我可以用:
driver.switch_to_frame(5)
问题是页面发生了变化,所以这个 iframe 并不总是在页面上 (5(,所以我需要不同的方法来选择它。有没有办法按宽度或高度选择 iframe?
您可以通过height
属性找到它
driver.switch_to_frame(driver.find_element_by_xpath('//iframe[@height="158"]'))
或两者兼而有之height
和width
:
driver.switch_to_frame(driver.find_element_by_xpath('//iframe[@height="158" and @width="318"]'))
但你最好把它定位为某个祖先div
的后代,例如
driver.switch_to_frame(driver.find_element_by_xpath('//div[@id="some_id"]//iframe'))
因为它似乎是更可靠的方式