原创 

python selenium 网页自动化测试或爬虫技巧备忘

分类:python,爬虫    732人阅读    IT小君  2021-08-10 22:59

1、将元素滚动到可视区

    self.browser.execute_script("arguments[0].scrollIntoView(true);", price[0])

或者(以上代码有时候没效果所以扩展了此函数)

def scroll_shim(self, ele):
        x = ele.location['x']
        y = ele.location['y']
        scroll_by_coord = 'window.scrollTo(%s,%s);' % (
            x-50,
            y-150
        )
        scroll_nav_out_of_way = 'window.scrollBy(0, -120);'
        self.browser.execute_script(scroll_by_coord)
        # passed_in_driver.execute_script(scroll_nav_out_of_way)


2、元素不可点击

    可以将元素滚动到可视区,再点击

    或者使用js点击

    self.browser.execute_script("arguments[0].click();", ele)


3、反防爬模拟人输入

def _input_simulation(self, e, text):
        for i in range(len(text)):
            sleep_time = random.randint(8, 30)
            time.sleep(sleep_time / 10)
            e.send_keys(text[i])

4、反防爬之使用text 定位元素,文字是面对用户的不可能经常变化

submit = self.browser.find_element_by_xpath(".//*[text()='隐藏']")
input = self.browser.find_element_by_xpath(".//*[@placeholder='请输入您要搜索的商品、类目或链接']")

5、窗口最大化

self.browser.maximize_window()

待续...

 

支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

 工具推荐 更多»