webdriver爬虫#document问题

如图,我们想获取#document下面body的内容。

如果使用

1.driver = webdriver.Chrome()

2.driver.get(url)

3.driver.find_element_by_xpath

此时会发现#document下的body中的内容为空。

document is a virtual element, which doesn't really mean anything.

在get(url)之后使用

driver.switch_to_default_content() 
frame = driver.find_elements_by_tag_name('iframe')[0]  
driver.switch_to_frame(frame) 

跳转到iframe中,然后再driver.find_element_by_xpath即可。

参考:

https://stackoverflow.com/questions/24360135/python-selenium-webdriver-finding-document-element

https://stackoverflow.com/questions/21474605/what-does-document-mean

通过路径找:

find_element_by_xpath 

find_elements_by_xpath 复数形式

通过id找:

find_element_by_id 

find_elements_by_id 复数形式

通过class_name找:

find_element_by_class_name 

find_elements_by_class_name 复数形式

更多查找方式参考:https://www.cnblogs.com/yoyoketang/p/6557421.html

猜你喜欢

转载自blog.csdn.net/qq_38839677/article/details/82657029