简单判断element是否在iframe中:鼠标右键出现‘查看框架的源代码’
在VS17中可以通过在python环境中自定义选择conda的虚拟环境运行scrapy
scrapy | xpath | bs | selenium | |
选择文本 | ::text | text() | .text/get_text() | .text |
获取属性 | ::attr() | @ | .attrs[] | get_attribute() |
scrapy得到的是selector
bs可以使用 .select()采用css选择器进行选择
一些tip:
webdriver开启开发者模式可以屏蔽网站对webdriver的检验
options = webdriver.ChromeOptions()
# 此步骤很重要,设置为开发者模式,防止被各大网站识别出来使用了Selenium
options.add_experimental_option('excludeSwitches', ['enable-automation'])
driver = webdriver.Chrome(options=options)
模拟登陆的两种思路:
1.基于以上策略后用selenium人工登陆后记录cookie,下次模拟登陆时add_cookie(eg.淘宝)
2.直接使用selenium或者post,需要处理验证码、滑块等各种情况(ps:淘宝的滑块就算我写了轨迹方程还是验证失败,搞得我心态崩了,最后用1.的方法成功登陆),较麻烦