问题:
想要进行依次点击专题栏中的链接. 下方是一个轮播条.
在点击A中第二篇文章时, 报错 . is not clickable at point (481, 343). Other element would re
ceive the click:
思路1:
判断为轮播抢走了浏览器焦点. 导致点击失败. 获取一个固定的元素, 这里获取了专题栏的title元素. 在每次点击文章前, 先执行下点击专题栏标题操作, 抢回焦点. 问题解决.
思路2:
禁用JS
option = webdriver.ChromeOptions()
prefs = {'profile.managed_default_content_settings.javascript': 2}
option.add_experimental_option('prefs', prefs)
context.driver = webdriver.Chrome(chrome_options=option)
以上方法都无法保证解决问题, 只能根据具体问题分析寻找方案
最终解决方案:
比如想要依次点击所有新闻栏中的文章.
1.点击新闻栏title
2.获取新闻栏下所有文章a标签元素
3.把a标签列表抽取成包含这些元素href地址的列表
4.测试href列表
articles = pg_homepage.get_law_articles
article_url_list = [article.get_attribute('href') for article in articles]
article_name_list = [article.get_attribute('titletip') for article in articles]
list_count = [x for x in range(len(article_url_list))]
for i in list_count:
pg_homepage.visit(article_url_list[i])
pg_homepage.verify_click_article(article_name_list[i])