峰大爷 2022-06-10 16:49 采纳率: 83.9%
浏览 288
已结题

selenium跨域请求问题

无法使用requests请求


ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-web-security"); // don't enforce the same-origin policy
options.addArguments("--disable-gpu"); // applicable to windows os only
options.addArguments("--user-data-dir=~/chromeTemp"); // applicable to windows os only
WebDriver driver = new ChromeDriver(options);
driver.get("https://google.com");

这种方法在我调用本地浏览器的情况下是无法使用的,我这边是selenium执行js代码 使用XMLHttpRequest 发送请求,但是遇到跨域有啥解决方案么,
目前使用window.open是可以获取到数据的,但是不能一直频繁打开新页面再关闭

  • 写回答

3条回答 默认 最新

  • CSDN专家-showbo 2022-06-10 21:41
    关注

    添加那个选项后可以跨域的,题主怎么用的,示例代码如下
    需要注意获取返回值要return TB(url)

    from selenium import webdriver
    import time
    
    opt = webdriver.ChromeOptions()
    opt.add_argument("--disable-web-security")
    driver = webdriver.Chrome(options=opt)
    driver.get('http://www.w3dev.cn/')
    
    time.sleep(3)
    url='https://www.baidu.com/'
    js = '''
            url = '%s'
            function TB(url) {
                var httpRequest = new XMLHttpRequest()
                httpRequest.open('GET', url, false)
                httpRequest.send()
                var data = httpRequest.responseText
                return data
            }
            return TB(url)
        '''%url
    
    html=driver.execute_script(js)
    print(html)
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月21日
  • 已采纳回答 6月13日
  • 修改了问题 6月10日
  • 创建了问题 6月10日

悬赏问题

  • ¥15 灰狼算法和蚁群算法如何结合
  • ¥15 这是一个利用ESP32自带按键和LED控制的录像代码,编译过程出现问题,请解决并且指出错误,指导如何处理 ,协助完成代码并上传代码
  • ¥20 stm32f103,hal库 hal_usart_receive函数接收不到数据。
  • ¥20 求结果和代码,sas利用OPTEX程序和D-efficiency生成正交集
  • ¥50 求fpga交通信号灯设计Verilog代码
  • ¥50 adb连接不到手机是怎么回事?
  • ¥20 抓取数据时发生错误: get_mooncake_data() missing 1 required positional argument: 'driver'的问题,怎么改出正确的爬虫代码?
  • ¥15 vs2022无法联网
  • ¥15 TCP的客户端和服务器的互联
  • ¥15 VB.NET操作免驱摄像头